Monday, March 10, 2008

Another Sedna Installer Issue

Craig Boyd blogged about the Sedna installer not handling the VFP DDEX provider properly. This weekend, Rick Schummer found an issue while testing my chapter for our upcoming Sedna and VFP 9 SP2 book: he got a “Type Library VISTADIALOGS4COM.TASKDIALOG not found” error when running some code using Vista dialog event handlers that come with Sedna. Interestingly, it worked on my laptop but gave the same error running on my home desktop system.

Digging into this, I found that I had an earlier Sedna CTP on my laptop and the release version on my desktop. My laptop had a type library for the Vista dialogs, VistaDialogs4COM.tlb but my desktop didn't. I figured it was a registration issue, so I ran RegAsm (the .NET utility that registers a .NET DLL as a COM object) with /TLB as a parameter so it would generate a type library. That didn't work, so I ran RegAsm with /U to unregister and then RegAsm with /CodeBase and /TLB, and that worked. So, obviously the Sedna installer is missing /TLB from the RegAsm command line call.

In case anyone else wants to take care of this, here's the contents of a BAT file you can use. Change the paths as necessary and use Run as Administrator.

rem First unregister

C:\Windows\Microsoft.NET\Framework\v2.0.50727\regasm.exe "C:\Program Files\Microsoft Visual FoxPro 9\Sedna\VistaDialogs4COM\VistaDialogs4COM.dll" /u

rem Now re-register to generate TLB

C:\Windows\Microsoft.NET\Framework\v2.0.50727\regasm.exe "C:\Program Files\Microsoft Visual FoxPro 9\Sedna\VistaDialogs4COM\VistaDialogs4COM.dll" /codebase /tlb

pause

2 comments:

Anonymous said...

Very easy-to-use software installation solution - Actual Installer

Dennis said...

And another good software installer - Smart Install Maker.