我使用installshield 2009创建应用程序安装程序。此应用程序是一个32位应用程序。 现在,作为客户的要求,我们的软件必须通过Windows App Certification Kit测试(WACK)。然后我尝试作为桌面应用程序进行测试,但结果失败了。
注册人口测试检测到以下错误:
应用程序未创建所需的注册表项。
写 相应的添加/删除程序值
发现错误:注册表 人口测试检测到以下错误:app没有创建 必需的注册表项。
非可选值'DisplayName'是 程序缺失或无效。
可选值 程序中“InstallLocation”缺失或无效 非可选值“发布者”缺少或无效 可选值“UninstallString”缺失或对程序无效 。
非可选值'VersionMajor'缺失或无效 程序。
缺少一个非可选值'VersionMinor'或 程序无效。
非可选值'MajorVersion'是 程序缺失或无效。
非可选值 程序中“MinorVersion”缺失或无效。
可选 值“InstallLocation”缺失或对程序无效。
我在另一台已安装的机器上使用regedit进行检查。
注册表值是正确的,上述任何键都不为空或无效
Windows注册表编辑器版本5.00
[HKEY_LOCAL_MACHINE \ SOFTWARE \ Wow6432Node \微软\的Windows \ CurrentVersion \卸载{9DAA8BAB-2DD2-4BD5-A3A2-ACB2A28B8041}]
“AuthorizedCDFPrefix”=“”
“评论”=“”
“联系人”=“”
“DisplayVersion”=“9.1.0”
“HelpLink”=“”
“HelpTelephone”=“(123) 123-1234“
”InstallDate“=”20140115“
“InstallLocation”=“C:\ Application Sample \”
“InstallSource”= “C:\安装\”,
“ModifyPath”=十六进制(2):图4d,00,73,00,69,00,45,00,78,00,65,00,63,00,2e,00,65,00,78,\ 00,65,00,20,00,2f,00,58,00,7b,00,39,00,44,00,41,00,41,00,38,00,42,00,41,00, \ 42,00,2d,00,32,00,44,00,44,00,32,00,2d,00,34,00,42,00,44,00,35,00,2d,00,41, \ 00,33,00,41,00,32,00,2d,00,41,00,43,00,42,00,32,00,41,00,32,00,38,00,42,00, \ 38,00,30,00,34,00,31,00,7d,00,00,00
“NoModify”= dword:00000001
“NoRepair”= dword:00000001
“发布者”=“样本发布者”
“自述”=“”
“尺寸”=“”
“EstimatedSize”= dword:0002861e
“UninstallString”=十六进制(2):图4d,00,73,00,69,00,45,00,78,00,65,00,63,00,2e,00,65,00,\ 78,00,65,00,20,00,2f,00,58,00,7b,00,39,00,44,00,41,00,41,00,38,00,42,00,41, \ 00,42,00,2d,00,32,00,44,00,44,00,32,00,2d,00,34,00,42,00,44,00,35,00,2d,00, \ 41,00,33,00,41,00,32,00,2d,00,41,00,43,00,42,00,32,00,41,00,32,00,38,00,42, \ 00,38,00,30,00,34,00,31,00,7d,00,00,00
“URLInfoAbout”=“www.publisher.com”“”URLUpdateInfo“=”“
“VersionMajor”= dword:00000009
“VersionMinor”= dword:00000001
“WindowsInstaller”= dword:00000001
“版本”= dword:09010000
“语言”= dword:00000409
“DisplayName”=“申请样本”
我还检查了与WACK相关的Microsoft KB,它告诉此错误是由于注册表值无效或安装期间未创建注册表值。
有没有人对此有相同的经历?怎么解决?
我尝试谷歌它,但没有人可以提供如何解决这个问题的确切解决方案
答案 0 :(得分:2)
上面提到的注册表项是由Windows Installer自动创建的,MSI包不应该创建它们。您的IS项目输出是否有EXE或MSI?
正如您在以下MSDN article中看到的那样,第5.5点,Microsoft指出,由于Windows Installer在计算机上注册了安装程序,MSI软件包安装会自动创建条目。
答案 1 :(得分:0)
我发现了问题,这是因为安装程序创建了一个安装程序,并且在卸载过程中没有删除安装程序。此快捷方式还会创建一些注册表,并提供一些与安装的应用程序相关的参数。
要解决此问题,我会查看快捷方式创建过程并为快捷方式提供正确的卸载过程。
答案 2 :(得分:0)
在投入太多时间调整安装程序之前,我建议先在另一台机器上运行WACK。我在搜索网络时失去了两天多的时间,然后修复了#34;我的MSI文件只是为了发现同一个MSI在另一台机器上通过了WACK测试!