我正在为我的应用程序编写一个简单的Inno安装脚本。 我做了我想要的所有东西,但我阻止了某些事情。
我的应用程序有两种模式,即用户在安装开始时选择的计算机和客户端。如果选择了客户端模式,则应用程序必须以windows开头。 此外,我的应用程序可以安装在Windows版本(32和64位)上,因此注册表项的路径不同。
为了让它从Windows开始,我在Inno设置脚本的末尾添加了这个:
[Registry]
Check: IsWin64; Root: HKCU; Subkey: "Software\Microsoft\Windows\CurrentVersion\Run"; ValueType: string; Permissions: users-full; ValueName: "MyApp"; ValueData: "{app}\AutoexecX86.cmd";
Check: Not IsWin64; Root: HKCU; Subkey: "Software\Microsoft\Windows\CurrentVersion\Run"; ValueType: string; Permissions: users-full; ValueName: "MyApp"; ValueData: "{app}\Autoexec.cmd";
如何添加我的应用程序仅以条件&#34启动的条件;选择客户端模式"。 (ClientRadioButton.Checked
)
答案 0 :(得分:4)
Check
parameter文档说:
除了单个名称,您还可以使用布尔表达式。有关布尔表达式的示例,请参阅Components and Tasks parameters。
Components and Tasks parameters文档说:
除了空格分隔列表外,您还可以使用布尔表达式作为组件和任务参数。支持的运算符包括
not
,and
和or
。 ...
因此,添加一个辅助函数,如IsClientMode
:
function IsClientMode: Boolean;
begin
Result := ClientRadioButton.Checked;
end;
使用IsWin64
布尔运算符:
and
条件相结合
[Registry]
Check: IsWin64 and IsClientMode; ...
Check: (not IsWin64) and IsClientMode; ...