Inno setup Inno安装脚本-安装前运行exe
我想在安装之前运行一个应用程序,我在Inno Setup ScriptPascal上使用以下代码:Inno setup Inno安装脚本-安装前运行exe,inno-setup,pascalscript,Inno Setup,Pascalscript,我想在安装之前运行一个应用程序,我在Inno Setup ScriptPascal上使用以下代码: function InitializeSetup():boolean; var ResultCode: integer; begin // Launch Notepad and wait for it to terminate if ExecAsOriginalUser('{src}\MyFolder\Injector.exe', '', '', SW_SHOW, ewWaitUntil
function InitializeSetup():boolean;
var
ResultCode: integer;
begin
// Launch Notepad and wait for it to terminate
if ExecAsOriginalUser('{src}\MyFolder\Injector.exe', '', '', SW_SHOW, ewWaitUntilTerminated, ResultCode) then
begin
// handle success if necessary; ResultCode contains the exit code
end
else begin
// handle failure if necessary; ResultCode contains the error code
end;
// Proceed Setup
Result := True;
end;
当我使用{win}\notepad.exe时,它可以工作,但当我使用{src}\MyFolder\Injector.exe时,安装程序不会打开我的程序并继续安装
注:喷油器有app.manifest,其中有“requireAdministrator”。但是,此应用程序应以管理员身份运行
那么怎么了?在代码中使用{src}等值时,需要使用ExpandConstant函数
但是,InitializeSetup也太早,无法运行安装任务。您应该将此代码移动到CurStepChangedssInstall中
此外,如果它需要管理员权限,则必须使用Exec而不是ExecAsOriginalUser运行。在代码中使用{src}等值时,需要使用ExpandConstant函数
但是,InitializeSetup也太早,无法运行安装任务。您应该将此代码移动到CurStepChangedssInstall中
此外,如果它需要管理员权限,则必须使用Exec而不是ExecAsOriginalUser运行。这可能适用于您。。。我相信这个问题是因为在整个路径中有空格…这应该通过引用路径来克服
Exec('cmd.exe','/c "'+ExpandConstant('{src}\MyFolder\Injector.exe')+'"', '',SW_SHOW,ewWaitUntilTerminated, ResultCode);
干杯。这可能对你有用。。。我相信这个问题是因为在整个路径中有空格…这应该通过引用路径来克服
Exec('cmd.exe','/c "'+ExpandConstant('{src}\MyFolder\Injector.exe')+'"', '',SW_SHOW,ewWaitUntilTerminated, ResultCode);
干杯。我将我的应用复制/粘贴到桌面,当我使用此选项时:“C:\Users\Oceanjack\Desktop\Injector.exe”不起作用。我将我的应用复制/粘贴到桌面,当我使用此选项时:“C:\Users\Oceanjack\Desktop\Injector.exe”不起作用。请注意,安装任务之前运行的首选位置是PrepareToInstall事件函数。这还可以在主安装开始之前优雅地处理错误和重新启动请求。请注意,安装任务之前运行的首选位置是PrepareToInstall事件函数。这还可以在主安装开始之前优雅地处理错误和重新启动请求。