I am using win32 console application with out having any dependency with dotnet framework.
I am using MsiOpenPackage API from C:\Windows\System32\MSI.dll.
While executing the API, it loads MSCOREE.dll in to my process.
The following line loads mscorwks.dll in to my process.
MsiDoAction(hInstall,_T("InstallValidate"));
MsiDoAction is other API from MSI.dll.
If i am running the application in clean windows XP OS (service pack 2) which doesn’t have dot framework installed, then these DLLS are not loaded in to my process but my application is working fine.
Is anyone know why these mscorwks.dll & MSCOREE.dll are loaded in to my process if dotnet framework is installed in the system?
My process in pure win32 console application and does not have any dependency with dotnet framework. At the time of starting the process, these 2 dlls are not loaded in my process. It is getting loaded while executing the functions MsiOpenPackage, MsiDoAction from MSI.DLL.
Please help me how to stop loading these DLLs in to my process.
This is probably Windows Installer readying its support for manipulating .NET assemblies (such as for installing assemblies to the GAC). I suspect the only way to prevent this is to run on a machine without the .NET framework. If you don’t want it in your main process at all, perhaps you should do your Msi work in a helper process.