regsvr32: Continue processing DLL list if an export is not found for a DLL.

This commit is contained in:
Andrew Nguyen 2010-05-02 01:24:40 -05:00 committed by Alexandre Julliard
parent dd4221fc2c
commit 6fc4954457
1 changed files with 9 additions and 1 deletions

View File

@ -100,7 +100,7 @@ static VOID *LoadProc(const char* strDll, const char* procName, HMODULE* DllHand
if(!Silent)
printf("%s not implemented in DLL %s\n", procName, strDll);
FreeLibrary(*DllHandle);
ExitProcess(1);
return NULL;
}
return proc;
}
@ -112,6 +112,8 @@ static int RegisterDll(const char* strDll)
HMODULE DllHandle = NULL;
pfRegister = LoadProc(strDll, "DllRegisterServer", &DllHandle);
if (!pfRegister)
return 0;
hr = pfRegister();
if(FAILED(hr))
@ -136,6 +138,9 @@ static int UnregisterDll(char* strDll)
HMODULE DllHandle = NULL;
pfUnregister = LoadProc(strDll, "DllUnregisterServer", &DllHandle);
if (!pfUnregister)
return 0;
hr = pfUnregister();
if(FAILED(hr))
{
@ -159,6 +164,9 @@ static int InstallDll(BOOL install, char *strDll, WCHAR *command_line)
HMODULE DllHandle = NULL;
pfInstall = LoadProc(strDll, "DllInstall", &DllHandle);
if (!pfInstall)
return 0;
hr = pfInstall(install, command_line);
if(FAILED(hr))
{