tags:

views:

50

answers:

1

I think the title pretty much says everything. But just to be safe...

I've got a VSPackage developed on my main machine that has the VS2008 SDK SP1 installed on it. When debugging in the experimental hive, all works fine. I got a PLK, applied it, and followed the directions for testing the PLK (i.e. pass in /noVSIP on the command line), and the package loads properly.

I've now written an installer with WiX (since regpkg will spit out WiX XML) and trying to install the VSPackage on a Visual Studio 2008 Pro edition running in a VM. But I get PLK verification failures. The 4 important bits (CompanyName, ProductName, ProductVersion, VSVersion) in the registry match what I generated the PLK with. No whitespace, no hidden characters, etc. Those bits also match what's on the PLK attribute in code.

Since /noVSIP works, I'm at a loss for how to debug this loading issue. Thoughts?

A: 

A "Package Load Failure" dialog doesn't necessarily mean a problem with the PLK. The fact that your package works on your dev machine with /noVSIP implies that this is not a PLK issue.

You can try using the Package Load Analyzer tool included in the SDK to debug further. There is a redist you can install on a test machine at %VSSDKInstallDir%\VisualStudioIntegration\Tools\Bin\VSSDK_PLA.exe. Then, on the test machine, execute Tools -> Package Load Analyzer and select your package. It will attempt to force-load it and provide more information why it's failing.

Also check out the following post for other ideas on what could be causing the load failure:

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

Aaron Marten
I figured it out before your answer by analyzing the registry values after an install. The codebase on the package ended up being slightly wrong. But just for giggles, I reintroduced the bug to cause the failure again and the Package Load Analyzer spit the problem right out. *sigh* I'm giving you the answer because it includes a pointer to the redistributable which I didn't know.
Justin Rudd