我正在使用Inno Setup设置一个新的应用程序,我有一些问题:
我必须在Windows注册表中输入新值。 我试过这个,但它似乎不起作用:
Root: HKLM; Subkey: "SYSTEM\Software\Atria\ClearCase\CurrentVersion\ContextMenus\MsExplorer\MenuTable\502"; ValueType: string; ValueName: "Text"; ValueData: "Test 1";
所以我想问:
我是否应该在之前添加新条目,创建“502”条目?
或者,我可以使用“regedit / s”输入这些值。使用Inno Setup时哪种方式更好?
此外,我想在安装过程中询问用户是否要添加这些值。我知道我必须使用[任务]条目,但仍然无法理解如何使用它。你能提供一个例子吗?
我必须支持Win XP和Win7(32和64位),所以如果有任何差异,请告诉我。
答案 0 :(得分:2)
您不需要显式创建密钥,因为在写入值时会隐式创建密钥。
您应该使用[registry]
部分,因为Inno可以删除卸载时的值。
如果这是在64位计算机上安装,请注意这些条目(默认情况下)将写入注册表的32位视图,您可以在regedit中看到:
HKLM\Software\Wow6432Node\Atria\ClearCase\CurrentVersion\ContextMenus\MsExplorer\MenuTable\502
Microsoft KB896459更详细地解释了这些更改。
(另请注意,HKLM/SYSTEM/Software
与HKLM/Software
不同,后者是通常的。{/ p>
您还可以在[tasks]
下的帮助中找到[tasks]
的示例。