我建设使用InstallShield 2014超级多实例安装程序,并添加一个关键注册表(Registry表):Windows安装程序无法找到注册表项
Registry | Root | Key | Name | Value | Component | ISAttributes
Registry34 | 2 | SOFTWARE\MyCompany\MyProduct\[InstanceId]\InstanceData | ENV | [ENV] | ISRegistryComponent | 0
从注册表项安装后:
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\MyCompany\MyProduct\0\InstanceData
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\MyCompany\MyProduct\1\InstanceData
两者都包含我期待的值。但是,当我搜索它们时,我似乎没有找到它们(RegLocator表):
Signature | Root | Key | Name | Type
NewSignature1 | 2 | SOFTWARE\MyCompany\MyProduct\[InstanceId]\InstanceData | ENV | 18
Appsearch表有ENV | NewSignature1
我试过在有和没有64位搜索标志设置(2型和18型)的各种场合。
从卸载后安装日志中,您将看到ENV属性没有被设置从注册表中的值(“PROD”是ENV属性的默认值):
Action start 16:58:38: INSTALL.
MSI (s) (5C:C8) [16:58:38:080]: Running ExecuteSequence
MSI (s) (5C:C8) [16:58:38:080]: Doing action: AppSearch
Action start 16:58:38: AppSearch.
MSI (s) (5C:C8) [16:58:38:080]: Note: 1: 2262 2: Signature 3: -2147287038
MSI (s) (5C:C8) [16:58:38:081]: PROPERTY CHANGE: Adding IISROOTFOLDER property. Its value is 'C:\inetpub\wwwroot\'.
MSI (s) (5C:C8) [16:58:38:081]: Note: 1: 2262 2: Signature 3: -2147287038
MSI (s) (5C:C8) [16:58:38:081]: PROPERTY CHANGE: Adding DOTNETVERSION40FULL property. Its value is '#1'.
MSI (s) (5C:C8) [16:58:38:081]: Note: 1: 2262 2: Signature 3: -2147287038
MSI (s) (5C:C8) [16:58:38:081]: Note: 1: 1402 2: HKEY_LOCAL_MACHINE\SOFTWARE\MyCompany\MyProduct\1\InstanceData 3: 2
MSI (s) (5C:C8) [16:58:38:081]: Note: 1: 2262 2: Signature 3: -2147287038
MSI (s) (5C:C8) [16:58:38:081]: PROPERTY CHANGE: Adding IIS_VERSION property. Its value is '#8'.
MSI (s) (5C:C8) [16:58:38:082]: Doing action: UpdateProductName_setProp
Action ended 16:58:38: AppSearch. Return value 1.
MSI (s) (5C:C8) [16:58:38:082]: PROPERTY CHANGE: Modifying ProductName property. Its current value is 'MyCompany MyProduct Server Components'. Its new value: 'MyCompany MyProduct Server Components - PROD'.
Action start 16:58:38: UpdateProductName_setProp.
什么时我做错了?
谢谢。我发誓,在某些时候,我测试了64位搜索标志,但没有找到密钥,但我尝试了很多事情,以至于我可能会错过时间。我确实在SecureCustomProperties属性中有ENV,但是在某些时候InstallShield从Property表中删除了它(即它是安全的,但是没有属性条目),并且我可能一直在尝试该标志。 –