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

Reply via email to