关于Inno Setup的几个注册问题

时间:2011-11-04 06:26:08

标签: windows-7 windows-xp registry inno-setup windows-7-x64

我正在使用Inno Setup设置一个新的应用程序,我有一些问题:

我必须在Windows注册表中输入新值。 我试过这个,但它似乎不起作用:

Root: HKLM; Subkey: "SYSTEM\Software\Atria\ClearCase\CurrentVersion\ContextMenus\MsExplorer\MenuTable\502"; ValueType: string; ValueName: "Text"; ValueData: "Test 1";

所以我想问:

  1. 我是否应该在之前添加新条目,创建“502”条目?

  2. 或者,我可以使用“regedit / s”输入这些值。使用Inno Setup时哪种方式更好?

  3. 此外,我想在安装过程中询问用户是否要添加这些值。我知道我必须使用[任务]条目,但仍然无法理解如何使用它。你能提供一个例子吗?

  4. 我必须支持Win XP和Win7(32和64位),所以如果有任何差异,请告诉我。

1 个答案:

答案 0 :(得分:2)

您不需要显式创建密钥,因为在写入值时会隐式创建密钥。 您应该使用[registry]部分,因为Inno可以删除卸载时的值。

如果这是在64位计算机上安装,请注意这些条目(默认情况下)将写入注册表的32位视图,您可以在regedit中看到: HKLM\Software\Wow6432Node\Atria\ClearCase\CurrentVersion\ContextMenus\MsExplorer\MenuTable\502
Microsoft KB896459更详细地解释了这些更改。

(另请注意,HKLM/SYSTEM/SoftwareHKLM/Software不同,后者是通常的。{/ p>

您还可以在[tasks]下的帮助中找到[tasks]的示例。