InnoSetup 安装后程序从 {tmp} 执行

问题描述 投票:0回答:1

我正在尝试在安装完成后运行程序。 我是这样定义的:

[Files]

; Post install
Source: "..\PostInstall\UpdateSettingsFile\bin\x64\Release\net9.0-windows\*.exe"; DestDir: {tmp}
Source: "..\PostInstall\UpdateSettingsFile\bin\x64\Release\net9.0-windows\*.dll"; DestDir: {tmp}
Source: "..\PostInstall\UpdateSettingsFile\bin\x64\Release\net9.0-windows\UpdateSettingsFile.runtimeconfig.json"; DestDir: {tmp}
Source: "..\PostInstall\UpdateSettingsFile\bin\x64\Release\net9.0-windows\*.json"; DestDir: {tmp}

[Run]
Filename: "{tmp}\UpdateSettingsFile.exe"; Description: "Post Install Update Settings File"; Flags: nowait postinstall skipifsilent

UpdateSettingsFile
确实在安装结束时启动。 但是,当我尝试执行它时,它会抛出以下错误:

Error thrown from post install

Newtonsoft.Json.dll
[Files]
部分中的文件位于同一文件夹中,应该可以找到。

我不明白为什么会失败。 我的目的是在安装后运行一个程序并在完成后将其删除。

inno-setup post-install
1个回答
0
投票

我猜

nowait
标志就是问题所在。安装程序启动 .exe 后,它会完成并删除 .dll。删除标志。

总的来说,我会删除所有三个标志。您不想无条件更新设置吗?

© www.soinside.com 2019 - 2024. All rights reserved.