Oops! I forgot to finish a sentence: "You also have to cater for other developers who are redistributing the DLL who are not using Windows Installer at all (who, hopefully, will have remembered to increment the SharedDLLs count and won't remove the file until this count drops to 0)."
-----Original Message----- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Mike Dimmick Sent: 13 October 2006 16:38 To: Torsten Rudnick; Tony Hoyle Cc: wix-users@lists.sourceforge.net Subject: Re: [WiX-users] Register capicom.dll fails -----Original Message----- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Torsten Rudnick Sent: 13 October 2006 16:06 To: Tony Hoyle Cc: wix-users@lists.sourceforge.net Subject: Re: [WiX-users] Register capicom.dll fails > By the way how do I test wheather the capicom.dll is already installed on the > target platform? I could not figure out which registry key I have to check in > front of starting my own installation. Generally you don't, because you want to increment the share counts of 'legacy' files in Windows Installer's terminology. This is because Windows Installer otherwise only tracks resources by component GUID, and if you use a different component GUID than someone else installing the same resource, it will get the reference counts wrong (see Rob Mensching's blog post 'Component Rules 101' at http://blogs.msdn.com/robmen/archive/2003/10/18/56497.aspx). You also have to cater for other developers who are redistributing the DLL who are not using Windows Installer at all (who, hopefully, will have. You have to assume that if it's present, some other program has installed it. If that program is subsequently removed, and you haven't incremented the reference count, the DLL could be removed, breaking your application. If you didn't install the component at install time, I don't think it will be included in a repair, leaving the user needing to uninstall and reinstall your application to fix the problem. If the file is already present, if the component's state is set to 'needed', the file will be copied if its version number is greater than the version already on the system (this applies to files where both old and new versions have a version number, which the CAPICOM DLL does). Conversely, if the file to be installed has a lower version number than the version already present (or they're equal), the file will be skipped. See http://msdn.microsoft.com/library/default.asp?url=/library/en-us/msi/set up/both_files_have_a_version.asp. -- Mike Dimmick ------------------------------------------------------------------------ - Using Tomcat but need to do more? Need to support web services, security? Get stuff done quickly with pre-integrated technology to make your job easier Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642 _______________________________________________ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users ------------------------------------------------------------------------- Using Tomcat but need to do more? Need to support web services, security? Get stuff done quickly with pre-integrated technology to make your job easier Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642 _______________________________________________ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users