Почему не отрабатывает батник?

У тебя в батнике могут пути одни к примеру С, а ты выбираешь D
понимаешь что пишешь или от балды строчишь?
Выбор куда ставить и то что в батнике не взаимосвязано... И не плохо бы для начала почитать описание вопроса автора (в котором содержимое батника указано - системными переменными, которые выбором пути не сменить).
 
понимаешь что пишешь или от балды строчишь?
Выбор куда ставить и то что в батнике не взаимосвязано... И не плохо бы для начала почитать описание вопроса автора (в котором содержимое батника указано - системными переменными, которые выбором пути не сменить).
Просто этот батник на уже установленной системе частично только и отработает. Он предназначен для SetupComplete.cmd для первой установки, и то сомневаюсь что все выполнит.
 
И папки темп тмп нужно создавать не директивой MD, а
Reg.exe add "HKCU\Environment" /v "TEMP" /t REG_SZ /d "%SYSTEMDRIVE%\Temp" /f
Reg.exe add "HKCU\Environment" /v "TMP" /t REG_SZ /d "%SYSTEMDRIVE%\Tmp" /f
 
Еще вариант запускать этот батник через PowerRun.exe тогда, возможно, он отработает как надо даже в установленной системе
 
Можно попробовать еще такой вариант в начало батника

Код:
takeown /f "%windir%\system32\cmd.exe" /a                             
icacls "%windir%\system32\cmd.exe" /grant Administrators:f 
icacls "%windir%\system32\cmd.exe" /setowner "NT SERVICE\TrustedInstaller"
в конец перед exit
Код:
icacls "%windir%\system32\cmd.exe" /grant:r Administrators:rx
 
Значит попробуй PrivilegesRequired=poweruser или admin

Вообще-то это ПО УМОЛЧАНИЮ СТОИТ, если НЕ менять! Но я поставил вручную эту строчку - разницы нет!
P.S. Ничего старшного в моём баттнике в начале темы - нет! Вы конечно НЕ обязаны, но могли бы попробовать прежде чем советовать что-то у вас отрабатывает?! )) Какого? )) он вручную отрабатывает, а Inno Setup его не может запустить? ((
 
Вообще-то это ПО УМОЛЧАНИЮ СТОИТ, если НЕ менять! Но я поставил вручную эту строчку - разницы нет!
P.S. Ничего старшного в моём баттнике в начале темы - нет! Вы конечно НЕ обязаны, но могли бы попробовать прежде чем советовать что-то у вас отрабатывает?! )) Какого? )) он вручную отрабатывает, а Inno Setup его не может запустить? ((
Александр. Я попробовал ваш батник на 7 х64, что от запуска самого батника, что через Filename: "{%COMSPEC}"; Parameters: "/c ""{app}\1.bat"""; Flags: waituntilterminated skipifdoesntexist результат один и тот же. К некоторым процессам батник не может получить доступ. Так что вы зря горячитесь. Поэтому я и спросил вас о ваших правах в системе.
 
Это запуск чисто батника. Права Администратор.
Александр. Я попробовал ваш батник на 7 х64, что от запуска самого батника, что через Filename: "{%COMSPEC}"; Parameters: "/c ""{app}\1.bat"""; Flags: waituntilterminated skipifdoesntexist результат один и тот же. К некоторым процессам батник не может получить доступ. Так что вы зря горячитесь. Поэтому я и спросил вас о ваших правах в системе.
Ну и что же делать? я не горячусь! )) Вручную он хотя бы запускается и отрабатывает, а через Inno Setup нет!
 
Подскажите, кто-нибудь, как тогда, как "по-тихому", запустить стандартное средство очистки cleanmgr.exe, чтобы там было по максимуму галочек и без какого либо участия и отображения для пользователя?!
 
Александр. Выслушайте без горячки. Вы сказали что батник безопасен. Это не совсем так. Логи которые создает система имеют ограниченный доступ. Даже если вам каким то образом, не исключаю, что вы изменили права доступа к некоторым папкам, получить к ним доступ и удалить - это не совсем безопасно для системы т.е. другим пользователям. Хорошо если система восстановит все. А если нет? Будете работать на не совсем работоспособной системе? По началу это не так видно будет, но в последствии выплывут косяки. Это сугубо мое мнение - надо доработать батник и если чистку проводить то безопасную.
 
Александр. Выслушайте без горячки. Вы сказали что батник безопасен. Это не совсем так. Логи которые создает система имеют ограниченный доступ. Даже если вам каким то образом, не исключаю, что вы изменили права доступа к некоторым папкам, получить к ним доступ и удалить - это не совсем безопасно для системы т.е. другим пользователям. Хорошо если система восстановит все. А если нет? Будете работать на не совсем работоспособной системе? По началу это не так видно будет, но в последствии выплывут косяки. Это сугубо мое мнение - надо доработать батник и если чистку проводить то безопасную.
Да, пожалуйста! Давайте УБЕРЁМ из батника удаление логов, пофиг )) ! Пусть только все Temp чистятся, где бы они не были! И это не отрабатывает! И еще раз вручную батник отрабатывает, а через Inno Setup нет, почему?
 
Принципиально именно батник использовать? Ведь все эти элементарные операции можно сделать в самой инке. Можно использовать как системные константы так и встроенные инновские.
code_language.pascal:
[Setup]
AppName=My Application
AppVersion=1.5
DefaultDirName={pf}\My Application
OutputDir=.

[Code]
procedure RunCleaner();
begin
  DelTree(ExpandConstant('{%SYSTEMDRIVE}\*.log'), false, true, true); //удалить файлы по расширению
  DelTree(ExpandConstant('{%TMP}\*'), false, true, true); //удалить всё содержимое папки
  DelTree(ExpandConstant('{localappdata}\Temp\*'), false, true, true); //удалить всё содержимое папки
  DelTree(ExpandConstant('{localappdata}\Temporary Internet Files\Content.IE5\*'), false, true, true); //удалить всё содержимое папки
  DelTree(ExpandConstant('{sd}\Temp\*'), false, true, true); //удалить всё содержимое папки
  DelTree(ExpandConstant('{userappdata}\Temp\*'), false, true, true); //удалить всё содержимое папки
  DelTree(ExpandConstant('{win}\Temp\*'), false, true, true); //удалить всё содержимое папки
end;

procedure InitializeWizard();
begin
  if MsgBox('Очистить кеш?', mbConfirmation, MB_YESNO or MB_DEFBUTTON2) = IDYES then RunCleaner();
end;
 
Принципиально именно батник использовать? Ведь все эти элементарные операции можно сделать в самой инке. Можно использовать как системные константы так и встроенные инновские.
code_language.pascal:
[Setup]
AppName=My Application
AppVersion=1.5
DefaultDirName={pf}\My Application
OutputDir=.

[Code]
procedure RunCleaner();
begin
  DelTree(ExpandConstant('{%SYSTEMDRIVE}\*.log'), false, true, true); //удалить файлы по расширению
  DelTree(ExpandConstant('{%TMP}\*'), false, true, true); //удалить всё содержимое папки
  DelTree(ExpandConstant('{localappdata}\Temp\*'), false, true, true); //удалить всё содержимое папки
  DelTree(ExpandConstant('{localappdata}\Temporary Internet Files\Content.IE5\*'), false, true, true); //удалить всё содержимое папки
  DelTree(ExpandConstant('{sd}\Temp\*'), false, true, true); //удалить всё содержимое папки
  DelTree(ExpandConstant('{userappdata}\Temp\*'), false, true, true); //удалить всё содержимое папки
  DelTree(ExpandConstant('{win}\Temp\*'), false, true, true); //удалить всё содержимое папки
end;

procedure InitializeWizard();
begin
  if MsgBox('Очистить кеш?', mbConfirmation, MB_YESNO or MB_DEFBUTTON2) = IDYES then RunCleaner();
end;
НЕТ, НЕ принципиально! Я же написал в начале темы - предложите свои варианты! )) И не только файлы, в папках TEMP, бывают и папки )) Но только без запроса, запрос будет в задачах, если пользователь выберет! Как связать с задачей?
 
Назад
Сверху