0

我认为标题几乎说明了一切。但为了安全起见...

我在我的主机上开发了一个 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 有效,我不知道如何调试这个加载问题。想法?

4

1 回答 1

1

“包加载失败”对话框并不一定意味着 PLK 有问题。您的包在您的开发机器上使用 /noVSIP 的事实意味着这不是PLK 问题。

您可以尝试使用 SDK 中包含的 Package Load Analyzer 工具进行进一步调试。您可以在 %VSSDKInstallDir%\VisualStudioIntegration\Tools\Bin\VSSDK_PLA.exe 的测试机器上安装一个 redist。然后,在测试机器上,执行 Tools -> Package Load Analyzer 并选择你的包。它将尝试强制加载它并提供更多信息为什么它失败了。

另请查看以下帖子,了解有关可能导致加载失败的其他想法:

http://blogs.msdn.com/dr._ex/archive/2006/12/14/debugging-package-load-failures.aspx

于 2010-04-14T21:15:30.607 回答