运行 [运行] 部分在 [Files] 部分之前
Run [Run] section before [Files] section
我的安装程序将名为 launcher.zip
的文件下载到 {tmp}
文件夹,并在安装期间和安装后运行以下脚本:
[Files]
Source: "{tmp}\launchers\Launcher"; DestDir: "{app}"; Flags: onlyifdoesntexist recursesubdirs external;
[Run]
Filename: "{tmp}zipza.exe"; Parameters: "x ""{tmp}\launchers\launcher.zip"" -o""{tmp}\launchers"" * -r -aoa"; Flags: runhidden runascurrentuser;
但是这样 [Files]
部分在 [Run]
部分之前运行,因此它找不到提取到 {tmp}
文件夹的文件夹。
我可以将 [Run]
脚本提取到目标文件夹,但我想使用 [Files]
部分来设置 Flags: onlyifdoesntexist
因为我不希望它在提取时替换文件,除非选择了特定的 Component
,在本例中为 launchers\reinstall
(另一个脚本删除文件如果选择 Component
)
所以我需要在 [Files]
部分
之前执行 [Run]
部分脚本
有什么办法吗?
而不是 运行 [Run]
部分,我 运行 要提取的 [Codes]
部分,并在我的 [=13= 中添加了 BeforeInstall
] 节
我的回答是:
我的安装程序将名为 launcher.zip
的文件下载到 {tmp}
文件夹,并在安装期间和安装后运行以下脚本:
[Files]
Source: "{tmp}\launchers\Launcher"; DestDir: "{app}"; Flags: onlyifdoesntexist recursesubdirs external;
[Run]
Filename: "{tmp}zipza.exe"; Parameters: "x ""{tmp}\launchers\launcher.zip"" -o""{tmp}\launchers"" * -r -aoa"; Flags: runhidden runascurrentuser;
但是这样 [Files]
部分在 [Run]
部分之前运行,因此它找不到提取到 {tmp}
文件夹的文件夹。
我可以将 [Run]
脚本提取到目标文件夹,但我想使用 [Files]
部分来设置 Flags: onlyifdoesntexist
因为我不希望它在提取时替换文件,除非选择了特定的 Component
,在本例中为 launchers\reinstall
(另一个脚本删除文件如果选择 Component
)
所以我需要在 [Files]
部分
[Run]
部分脚本
有什么办法吗?
而不是 运行 [Run]
部分,我 运行 要提取的 [Codes]
部分,并在我的 [=13= 中添加了 BeforeInstall
] 节
我的回答是: