Я продолжаю свою работу в Inno Setup, поэтому теперь у меня возникли новые вопросы. Я пытаюсь выполнить некоторые программы перед установкой моего последнего приложения, для этого я использую функцию Exec
.Предварительная установка Microsoft Access Database Engine без вмешательства пользователя в Inno Setup
Когда я пытаюсь с помощью следующего кода:
[Files]
Source: "AccessDatabaseEngine_x64.exe"; DestDir: "{tmp}"; Flags: dontcopy noencryption
Source: "Database.accdb"; DestDir: "{app}"; Flags: ignoreversion
[Code]
function PrepareToInstall(var NeedsRestart: Boolean): String;
Var
ResultCode: Integer;
begin
ExtractTemporaryFile('AccessDatabaseEngine_x64.exe');
if Exec(ExpandConstant('{tmp}\AccessDatabaseEngine_x64.exe'), 'quit', '', SW_HIDE, ewWaitUntilTerminated, ResultCode) then
begin
msgbox('True: {tmp}\AccessDatabaseEngine_x64.exe : ' + IntToStr(ResultCode), mbInformation, MB_OK);
end
else begin
msgbox('False: {tmp}\AccessDatabaseEngine_x64.exe : ' + SysErrorMessage(ResultCode), mbInformation, MB_OK);
end;
end;
Я получаю эту ошибку:
С другой стороны, если я использую код последующие:
[Files]
Source: "AccessDatabaseEngine_x64.exe"; DestDir: "{tmp}"; Flags: dontcopy noencryption
Source: "Database.accdb"; DestDir: "{app}"; Flags: ignoreversion
[Code]
function PrepareToInstall(var NeedsRestart: Boolean): String;
Var
ResultCode: Integer;
begin
ExtractTemporaryFile('AccessDatabaseEngine_x64.exe');
if Exec(ExpandConstant('{tmp}\AccessDatabaseEngine_x64.exe'), '', '', SW_HIDE, ewWaitUntilTerminated, ResultCode) then
begin
msgbox('True: {tmp}\AccessDatabaseEngine_x64.exe : ' + IntToStr(ResultCode), mbInformation, MB_OK);
end
else begin
msgbox('False: {tmp}\AccessDatabaseEngine_x64.exe : ' + SysErrorMessage(ResultCode), mbInformation, MB_OK);
end;
end;
Я получаю мастер установки другого файла. Некоторые, как это:
Я хочу, чтобы установить мои другие программы автоматически, без вмешательства пользователя.
Возможно ли это? Вы можете мне помочь?
Благодарим за продвижение!
Hi @MartinPrikryl, хранит первый msgbox, «Microsoft Access Database Engine 2010» _ и не устанавливает программу. – DavidSaa
Ну, мы не собираемся находить правильные аргументы командной строки случайного исполняемого файла для вас. Это не вопрос программирования. Это даже не связано с Inno Setup. –