У меня есть один файл .msi и два файла предварительных условий. В соответствии с моим кодом установка будет выполнять основной файл exe из файла .msi после успешной установки. Но если предыдущая версия .msi-файла уже установлена, она поставляется с опцией Repair and Remove. Мой раздел Run
работает после того, как я удалил .msi-файл, и я хочу выйти из приложения после удаления файла msi или не выполнить раздел Run
. Может кто-нибудь предложить мне некоторые решения?Отменить установку, если зависимость не установлена
Вот мой Run
раздел:
[Run]
Filename: "{app}\{#MyAppExeName}"; Parameters: "/verysilent /group=""{groupname}\Macrowire 2.5 Pro"" /mergetasks=""desktopicon,file_association"""; Flags: nowait postinstall; Description: "{cm:LaunchProgram,{#StringChange(MyAppName, '&', '&&')}}"; StatusMsg: "Installing Macrowire 2.5 Pro..."
Вот мой Pascal код:
function PrepareToInstall(var NeedsRestart: Boolean): String;
var
ResultCode: integer;
begin
...
if IsComponentSelected('Macrowire') or IsComponentSelected('Full') then
begin
ShellExec('', ExpandConstant('{app}\MacroWire 2.5 Pro.msi'), '', '', SW_SHOW, ewWaitUntilTerminated, ResultCode)
end;
...
end;
Не знаю, что вы хотите. 1. * В соответствии с моим кодом, установка будет excute main exe-файла из .msi-файла после успешной установки * - ваш код - это скрипт Inno Setup, так что же ему нужно делать с .msi-файлом? 2. Что такое 'MyAppExeName'? Параметры выглядят подозрительно, как параметры установщика Inno Setup. 3. * Раздел «Мой запуск» запускается после того, как я удалил файл .msi, и я хочу выйти из приложения после удаления файла msi или не выполнить раздел «Выполнить». * - Можете ли вы уточнить? Я совсем не понимаю. –
@MartinPrikryl Главный файл exe, который я запускаю в разделе run, берется из файла файла msi. Это не имеет никакого смысла, запустив этот exe-файл после удаления этого .msi-файла (он показывает сообщение типа «can not to find the exe файл в заданном пути "), поэтому я хочу выйти из программы inno после этого удаления msi, и это не должно продолжаться дальше. Не следует запускать раздел Run. – preethi
Итак, покажите нам свой код, чтобы удалить .msi. –