Я создал простой исполняемый файл (.exe), используя Inno Setup Compiler 6.0.2 для установки приложения Windows.
.exe-файл вызывает vbscript "Setup.vbs ", который распаковывает файл" Application.zip "и обновляет переменные среды.
Когда я впервые запускаю .exe файл на новом компьютере, файл .vbs нене выполняется .Но со второй попытки он работает нормально.Это известная проблема или есть какое-то решение для этого?
Вот фрагмент кода, который я использую для вызова файла .vbs run
[Code]
function PrepareToInstall(var NeedsRestart: Boolean): String;
var ResultCode: integer;
begin
ShellExec('',ExpandConstant('{app}\{#MyAppExeName}'), '', '', SW_SHOW, ewWaitUntilTerminated, ResultCode)
end;
Обновление
Я хочу, чтобы .vbs выполнялся перед установкой.Итак, я попытался ExtractTemporaryFile
, но я столкнулся с той же проблемой.Не уверен, что не так с кодом ниже.
#define MyAppExeName "Setup.vbs"
[Files]
Source: "..\Application\Installation_Setup\Setup.vbs"; DestDir: "{app}"; Flags: ignoreversion
[Code]
function PrepareToInstall(var NeedsRestart: Boolean): String;
var
ResultCode: integer;
begin
ExtractTemporaryFile('{#MyAppExeName}');
ShellExec('',ExpandConstant('{app}\{#MyAppExeName}'), '', '', SW_SHOW, ewWaitUntilTerminated, ResultCode)
end;