Hi All,
I have made a product which along with other things installs a FileSpy kind
of filter driver with the driver registry entries done manually (Driver is
also manually copied to SYSTEMFOLDER\drivers).
I am using INSTALLSHIELD 11.5 for this.
Along with this, it is also having some Win32 DLLs and executables which are
having some dependencies on MFC80.dll, MSVCR80.dll and some other modules.
For this, i have merged these modules into my installer.
During uninstallation I first remove the registry entries for filterdriver
and the driver and then do the uninstallation of rest using the same setup.
Although all this working fine on WinXP, there is a problem coming in case
of Windows 2000 (Only With FAT32 as the format of installation partition).
On Win 2000 (FAT32), when i uninstall it, my filter driver crashes.
When i remotely tried to debug it, it shows that my Driver is the culprit
and the statement where it crashes is the Return statement of SpyDispatch
(In FileSpy).
Next time when i try to uninstall it, it shows an error and after doing same
thing for 2-3times, uninstallation shows “Fatal Error” permanently.
One noticable thing, while doing uninstallation is that it crashes while
Removing Files. When i stopped the “RemoveFile” action in my installer, it
works absolutely fine.
But in this case it will not remove the files installed by installer.
The files which were Installer\uninstalled by installer were:
My Exes
My DLLs
Except for this there were certain Merged modules needed for my DLLs and
Exes. These are:
RemoveFiles: File:
x86_Microsoft.VC80.CRT_1fc8b3b9a1e18e3b_8.0.50727.42_x-ww_0de06acd.manifest,
Directory: D:\WINNT\winsxs\Manifests\
RemoveFiles: File:
x86_Microsoft.VC80.CRT_1fc8b3b9a1e18e3b_8.0.50727.42_x-ww_0de06acd.cat,
Directory: D:\WINNT\winsxs\Manifests\
RemoveFiles: File: msvcr80.dll, Directory:
D:\WINNT\winsxs\x86_Microsoft.VC80.CRT_1fc8b3b9a1e18e3b_8.0.50727.42_x-ww_0de06acd\
RemoveFiles: File: msvcp80.dll, Directory:
D:\WINNT\winsxs\x86_Microsoft.VC80.CRT_1fc8b3b9a1e18e3b_8.0.50727.42_x-ww_0de06acd\
RemoveFiles: File: msvcm80.dll, Directory:
D:\WINNT\winsxs\x86_Microsoft.VC80.CRT_1fc8b3b9a1e18e3b_8.0.50727.42_x-ww_0de06acd\
RemoveFiles: File: msvcr80.dll, Directory: D:\WINNT\system32\
RemoveFiles: File: msvcp80.dll, Directory: D:\WINNT\system32\
RemoveFiles: File: msvcm80.dll, Directory: D:\WINNT\system32\
RemoveFiles: File: 8.0.50727.42.policy, Directory:
D:\WINNT\winsxs\Policies\x86_policy.8.0.Microsoft.VC80.CRT_1fc8b3b9a1e18e3b_x-ww_77c24773\
RemoveFiles: File: 8.0.50727.42.cat, Directory:
D:\WINNT\winsxs\Policies\x86_policy.8.0.Microsoft.VC80.CRT_1fc8b3b9a1e18e3b_x-ww_77c24773\
RemoveFiles: File:
x86_Microsoft.VC80.MFC_1fc8b3b9a1e18e3b_8.0.50727.42_x-ww_dec6ddd2.manifest,
Directory: D:\WINNT\winsxs\Manifests\
RemoveFiles: File:
x86_Microsoft.VC80.MFC_1fc8b3b9a1e18e3b_8.0.50727.42_x-ww_dec6ddd2.cat,
Directory: D:\WINNT\winsxs\Manifests\
RemoveFiles: File: mfcm80.dll, Directory:
D:\WINNT\winsxs\x86_Microsoft.VC80.MFC_1fc8b3b9a1e18e3b_8.0.50727.42_x-ww_dec6ddd2\
RemoveFiles: File: mfc80u.dll, Directory:
D:\WINNT\winsxs\x86_Microsoft.VC80.MFC_1fc8b3b9a1e18e3b_8.0.50727.42_x-ww_dec6ddd2\
RemoveFiles: File: mfc80.dll, Directory:
D:\WINNT\winsxs\x86_Microsoft.VC80.MFC_1fc8b3b9a1e18e3b_8.0.50727.42_x-ww_dec6ddd2\
RemoveFiles: File: mfcm80u.dll, Directory:
D:\WINNT\winsxs\x86_Microsoft.VC80.MFC_1fc8b3b9a1e18e3b_8.0.50727.42_x-ww_dec6ddd2\
RemoveFiles: File: mfcm80.dll, Directory: D:\WINNT\system32\
RemoveFiles: File: mfc80u.dll, Directory: D:\WINNT\system32\
RemoveFiles: File: mfc80.dll, Directory: D:\WINNT\system32\
RemoveFiles: File: mfcm80u.dll, Directory: D:\WINNT\system32\
RemoveFiles: File: 8.0.50727.42.policy, Directory:
D:\WINNT\winsxs\Policies\x86_policy.8.0.Microsoft.VC80.MFC_1fc8b3b9a1e18e3b_x-ww_0f75c32e\
RemoveFiles: File: 8.0.50727.42.cat, Directory:
D:\WINNT\winsxs\Policies\x86_policy.8.0.Microsoft.VC80.MFC_1fc8b3b9a1e18e3b_x-ww_0f75c32e\
Now my question is that, in this case is my filter driver the actual culrit
or the Installer (InstallShield 11.5). What i believe is that there might be
some dependency of my Driver on these merged modules because of which is
crashes.
One more thing, when i install my filter driver using the batch file and
then install my Product (with installation of filter driver not included in
InstallShield’s installer), it works absolutely fine during uninstallation.
Please help me in this.
Thanks and Regards,
Shreshth Luthra