[wix-users] How can I conditionally overwrite DLLs during WIX installation of different packages?

Sebastian, ChinchuX chinchux.sebastian at intel.com
Sun Feb 3 21:39:44 PST 2019


Hi Christopher/Dexter,

Thanks for the update.

I had tried the method suggested by Walter Dexter and got the result as well.
But I defined the component which installs DLL as permanent to overcome the uninstallation and upgrade of packages because that DLL might be used by some other packages as well.
The problem which I am facing now is, the permanent component is not deleting after the uninstallation of all packages.

Is there any method to solve the issue, like we can check any condition which works only on uninstallation of packages or 
Any method which can able to check the status of a file existence at the time of only uninstallation of packages and change the status of components from permanent to temporary?

Thanks in advance.

Thanks & Regards,
Chinchu

-----Original Message-----
From: wix-users [mailto:wix-users-bounces at lists.wixtoolset.org] On Behalf Of Christopher Painter via wix-users
Sent: Saturday, February 2, 2019 6:55 PM
To: WiX Toolset Users Mailing List <wix-users at lists.wixtoolset.org>
Cc: Christopher Painter <chrpai at iswix.com>
Subject: Re: [wix-users] How can I conditionally overwrite DLLs during WIX installation of different packages?

What language is your application written?  Are the DLL's "registered"?   Does your language have some form of  late binding?

The only tolerable way I can see out of this sticky mess would be something like:

1) Install these shared dll's to a folder structure that allows all of them to be installed side by side in unique subfolders.  This is because they don't follow the component rules and are really distinct components.   Any MSI containing the shared components would follow standard default file versioning and component rules for each DLL but because there are distinct components the latest version of each flavor of the DLL would be available in it's own unique folder and or file name.

2) Shift the business logic of which of these DLLs to load to the application runtime.  For example in .NET you could use some dependency injection to decide that DLL A is the one to be loaded.

3) The components should all get uninstalled when the last MSI is uninstalled because all component rules / reference counting are being followed.



________________________________
From: wix-users <wix-users-bounces at lists.wixtoolset.org> on behalf of Walter Dexter via wix-users <wix-users at lists.wixtoolset.org>
Sent: Friday, February 1, 2019 12:11 PM
To: WiX Toolset Users Mailing List
Cc: Walter Dexter
Subject: Re: [wix-users] How can I conditionally overwrite DLLs during WIX installation of different packages?

So, if it's at version 2, install version 4, but if it's at 3, install 5, just for example?

I completely agree it's madness, but I'd think you could achieve it with some combination of properties driven by a FileSearch and components controlled by conditions. Haven't tried it though.

It's only going to get worse if you go down this path, you're going to wind up with a mess in another couple generations of releases.

On Thu, Jan 31, 2019 at 4:15 AM Sebastian, ChinchuX via wix-users < wix-users at lists.wixtoolset.org> wrote:

> 1.     Hi All,
> 2.       Could you please help me to find a way for conditionally
> overwrites a DLL depending up on the version of it .
> 3.       Create a dummy dll with different version number. Build the that
> dlls with different Wix installation packages.
> 4.       Check for upgrade of dlls with multiple installers.
> 5.       Make sure that dll gets uninstalled when the last tool is
> uninstalled.
> Thanks & Regards,
> Chinchu
>
>
> ____________________________________________________________________
> WiX Toolset Users Mailing List provided by FireGiant 
> http://www.firegiant.com/
>

____________________________________________________________________
WiX Toolset Users Mailing List provided by FireGiant http://www.firegiant.com/

____________________________________________________________________
WiX Toolset Users Mailing List provided by FireGiant http://www.firegiant.com/



More information about the wix-users mailing list