msiexec.exe replacement
Robert Shearman
rob at codeweavers.com
Sun Jul 18 13:40:32 CDT 2004
Vincent Béron wrote:
>Note: Much functionnality is still absent, but it's already able to
>begin the installation of iTunes.msi and netfx.msi.
>I plan on updating this in the coming days.
>
>
Nice work.
>Changelog:
>First draft for a msiexec.exe replacement.
>
>Vincent
>
>
...
>+ printf("Dll %s does not implement function %s\n", DllName, ProcName);
>
>
Minor nitpick: this (and similar messages) should be fprintf(stderr,...)
>+static void DllRegisterServer(LPCSTR DllName)
>+{
>+ HRESULT hr;
>+ DLLREGISTERSERVER pfDllRegisterServer = NULL;
>+ HMODULE DllHandle = NULL;
>+
>+ pfDllRegisterServer = LoadProc(DllName, "DllRegisterServer", &DllHandle);
>+
>+ hr = pfDllRegisterServer();
>+ if(FAILED(hr))
>+ {
>+ printf("Failed to register dll %s\n", DllName);
>+ ExitProcess(1);
>+ }
>+ printf("Successfully registered dll %s\n", DllName);
>+ if(DllHandle)
>+ FreeLibrary(DllHandle);
>+}
>+
>+static void DllUnregisterServer(LPCSTR DllName)
>+{
>+ HRESULT hr;
>+ DLLUNREGISTERSERVER pfDllUnregisterServer = NULL;
>+ HMODULE DllHandle = NULL;
>+
>+ pfDllUnregisterServer = LoadProc(DllName, "DllUnregisterServer", &DllHandle);
>+
>+ hr = pfDllUnregisterServer();
>+ if(FAILED(hr))
>+ {
>+ printf("Failed to unregister dll %s\n", DllName);
>+ ExitProcess(1);
>+ }
>+ printf("Successfully unregistered dll %s\n", DllName);
>+ if(DllHandle)
>+ FreeLibrary(DllHandle);
>+}
>+
>
>
...
>+
>+ ExitProcess(0);
>+ return 0;
>+}
>
>
The ExitProcess call should not be needed.
Rob
More information about the wine-devel
mailing list