cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
repal_rahul
Level 3

DLL registration with IS 2011

Hi,

We have migrated project to IS 2011 from IS 12.

Here we are using Kernel32.CreateProcess(NULL, szCmdLine, NULL, NULL, FALSE, 16, NULL, NULL, &StartupInfo, &ProcessInfo) for DLL registration.

CmdLine="C:\SINDOWS\System32\regsrv32.exe"/s"C:\WINDOW\system32\msxml3.dll"


After migration this CreateProcess() function is stopped working. is there any alternative for this?
Labels (1)
0 Kudos
(3) Replies
WalterT
Level 4

hi repal.rahul

Is this an InstallScript project or a basic MSI?
I am not so sure if this is possible in InstallScript, but in a standard MSI you can right click on any file select properties and mark the checkbox "Self Register".
A better way is to extract the COM data from your dll by adding files with the component wizard or by right clicking the file directly and selecting "Extract Com Information"
Another way is to always re-extract COM data at build time.

I hope this helps

Walter
0 Kudos
Not applicable

Hi Repal.Rahul

You can try following code:
LaunchAppAndWait(WINSYSDIR ^ "regsvr32.exe", WINSYSDIR ^ "msxml3.dll", LAAW_OPTION_WAIT | LAAW_OPTION_HIDDEN);

Kevin
0 Kudos
repal_rahul
Level 3

Hi Kevin.Wan,

Thanks for the reply but will this work for Vista & window 7 also?

Beacuse LaunchAppAndWait() function internally will call CreateProcess() that will fail with Vista & window7.

Rahul.
0 Kudos