Windows应用认证工具包测试结果:应用程序未创建require注册表项

时间:2014-01-17 09:56:31

标签: windows installshield wack

我使用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,它告诉此错误是由于注册表值无效或安装期间未创建注册表值。
有没有人对此有相同的经历?怎么解决?
我尝试谷歌它,但没有人可以提供如何解决这个问题的确切解决方案

3 个答案:

答案 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测试!