Running Regsvr32 Exe On Msi Dll
Click Here > https://blltly.com/2tqrUQ
For example, typing regsvr32 icwdial.dll returns this error message because the Icwdial.dll file is not self-registerable. If you suspect a corrupted version of Dllname is in memory, try restarting your computer or re-extract the original version of the file.
From Winerror.h, 0x00000485 = 1157 (ERROR_DLL_NOT_FOUND). This means "One of the library files that are needed to run this application cannot be found." For example, typing regsvr32 missing.dll returns this error message if the Missing.dll file is not found.
From Winerror.h, 0x00000002 = 2 (ERROR_FILE_NOT_FOUND). This means "The system cannot find the file specified." In other words, a dependent DLL was not found. For example, typing regsvr32 icwdial.dll with Tapi32.dll (a dependency) missing returns this error message..
From Winerror.h, 0x000001f = 31 (ERROR_GEN_FAILURE). This means "A device attached to the system is not functioning." This behavior can occur if you try to register a Win16 .dll file. For example, typing regsvr32 dskmaint.dll returns this error message.
CustomAction SystemFolder_2 returned actual error code 5. Error 1722. There is a problem with this Windows Installer package. A program run as part of the setup did not finish as expected. Action SystemFolder_2, location: C:\Windows\SysWOW64\, command: regsvr32.exe /s "C:\Program Files (x86)\Test Install\test.dll"
MSI (s) (10:F4): Product: Test Install -- Error 1722. There is a problem with this Windows Installer package. A program run as part of the setup did not finish as expected. Action SystemFolder_2, location: C:\Windows\SysWOW64\, command: regsvr32.exe /s "C:\Program Files (x86)\Test Install\test.dll"
You can test this requirement by using "Open with..." to run C:\Windows\SysWOW64\regsvr32.exe on the component (which will fail). Whereas if you create a batch file for the registration and then "Run as Administrator" the component will register successfully.
The COM component has rather complicated and non-static registration logic which means that embedding the registration information directly in the Windows Installer WXS file is not a feasible option - registration must be done using regsvr32 - and it's a 32-bit COM component, so it must use the 32-bit version of regsvr32.exe - that is %SystemRoot%\SysWow64\regsvr32.exe on 64-bit Windows or %SystemRoot%\System32\regsvr32.exe on x86 Windows.
I've worked-around the first issue by writing my own intermediate-step program which is a 32-bit executable, so it will always run under a WOW context, so it will reliably invoke the 32-bit regsvr32.exe program.
In versions of Windows prior to Vista, or with User Account Control (UAC) turned off in Windows Vista, 7, or 8, ActiveX files (such as .dll or .ocx) can be registered by double-clicking on the filename in Windows Explorer ("File Explorer" in Windows 8). If opening, running, or double-clicking on a file with a .dll extension (Dynamic Link Library) or an .ocx extension (OLE Control Extension) brings up an "Open With" screen: click "Select the program from a List" and click OK > click the "Browse" (or "Other") button on the lower right of the screen > progressively select directories and change the "Look-in" box on the next screen to C:\Windows\System32\regsvr32.exe > double-click on regsvr32.exe (or click the Open button) > verify that "Microsoft Register Server" is highlighted in the Programs list > verify that a check mark is in the "Always Use" box on the lower left of the Open With screen > click the OK button on the "Open With" screen. A message should appear indicating that the registration succeeded. Click the OK button on the RegSvr32 message screen.
Note 4: If regsvr32.exe is not in your Windows\System32 folder, Browse to the Windows\System folder (in Windows 98), or use the Search function in Windows to find the regsvr32.exe file.
Check that you are running Installshield with admin permissions (if its running within Visual Studio as a standard user this could prevent the COM extract)Also