我认为标题几乎说明了一切。但为了安全......
我的主机上开发了VSPackage,其上安装了VS2008 SDK SP1。在实验蜂巢中调试时,一切正常。我得到一个PLK,应用它,并按照测试PLK的指示(即在命令行上传入/ noVSIP),并正确加载包。
我现在用WiX编写了一个安装程序(因为regpkg将吐出WiX XML)并尝试在VM中运行的Visual Studio 2008 Pro版本上安装VSPackage。但我得到了PLK验证失败。注册表中的4个重要位(CompanyName,ProductName,ProductVersion,VSVersion)与我生成PLK的内容相匹配。没有空格,没有隐藏的字符等。这些位也与代码中的PLK属性相匹配。
由于/ noVSIP有效,我对如何调试此加载问题感到茫然。想法?
答案 0 :(得分:1)
“程序包加载失败”对话框并不一定意味着PLK存在问题。使用/ noVSIP在您的开发计算机上运行包的事实意味着这是不 PLK问题。
您可以尝试使用SDK中包含的Package Load Analyzer工具进一步调试。您可以在%VSSDKInstallDir%\ VisualStudioIntegration \ Tools \ Bin \ VSSDK_PLA.exe的测试计算机上安装redist。然后,在测试机器上,执行工具 - >打包Load Analyzer并选择您的包。它将尝试强制加载它并提供更多信息,说明它失败的原因。
另请查看以下文章,了解可能导致加载失败的其他想法:
http://blogs.msdn.com/dr._ex/archive/2006/12/14/debugging-package-load-failures.aspx