[wix-users] Shared text file between installers

Walter Dexter wfdexter at gmail.com
Mon Apr 4 14:37:14 PDT 2016


Jacob, Farrukh, thanks for the feedback.

I've been looking at links and documents and your responses. What I'm
thinking is that I can install both versions of the file, then use CopyFile
to move the right one into place based on <Condition>s.

After a weekend of thought, it turns out there are really 3 versions of the
file, corresponding to "V1 installed", "V2 installed" and "V1 and V2
installed."

So MSI-1 would check if MSI-2 is installed. If MSI-2 is installed, it
copies "V1 and V2 INI file". Otherwise, "V1 INI file" is copied.

Similarly, MSI-2 checks if MSI-1 is installed. If MSI-1 is installed ,it
copies "V1 and V2 INI file." Otherwise, "V2 INI file" is copied.

Having "V1 and V2 INI file" present when only MSI-1 or MSI-2 are installed
isn't the end of the world. I

I"ll need to do a bit of studying on how CopyFile works at uninstall, and
what I want to happen in that case, but does that sound reasonable?




Thanks,

Walt.

On Sat, Apr 2, 2016 at 12:41 PM, Walter Dexter <wfdexter at gmail.com> wrote:

> Yes, MSI 2 overwrites the files installed by MSI 1. They're using the same
> GUID so Windows Installer does reference counting.
>
> I'm thinking maybe I need to do something on install and uninstall that
> just sorts out the files.  They're Ini files and ideally would have three
> possible sets of values in one section depending on whether 1, 2 or both
> are installed.
>
>
>
> > On Apr 1, 2016, at 11:49 PM, Farrukh Waheed <farrukh1 at gmail.com> wrote:
> >
> > So, technically, when MSI 2 was installed, it may have overwritten 4
> shared
> > files (same named) installed by MSI1?
> > I think, when you'll Uninstall MSI1, the overwritten files may not be
> > removed by MSI1 uninstaller...
> >
> > However, when you'll install updated MSI1, these files may get
> overwritten
> > again, depending upon the time and date i.e.
> > If already installed files are older one, these would be replace by
> updated
> > MSI1.
> >
> > On a side note, please do consider the Upgrade scenarios in your MSIs...
> >
> > On 2 April 2016 at 02:25, Hoover, Jacob <Jacob.Hoover at greenheck.com>
> wrote:
> >
> >> Hmm, not that I like this...
> >>
> >> But could MSI1 also conditionally deploy MSI2 magic text files if MSI2
> is
> >> detected?
> >>
> >> Probably going to have to suppress ICE30.
> >>
> >> Similar to suggestions made here:
> >>
> http://stackoverflow.com/questions/967748/wix-conditionally-installing-a-file-based-on-os
> >>
> >> But instead of OS, it's based on if the MSI 2 was detected?  Or better
> >> yet, install files with unique file names (avoiding ICE issue), and then
> >> use a semi custom action to inject a CopyFile as needed.
> >>
> >> -----Original Message-----
> >> From: wix-users [mailto:wix-users-bounces at lists.wixtoolset.org] On
> Behalf
> >> Of Walter Dexter
> >> Sent: Friday, April 01, 2016 1:11 PM
> >> To: WiX Toolset Users Mailing List <wix-users at lists.wixtoolset.org>
> >> Subject: [wix-users] Shared text file between installers
> >>
> >> Hi, all.
> >>
> >> Looking for a little strategy advice if anyone has some.
> >>
> >> I have a product that installs a number of binary and text files. Only
> one
> >> versioned EXE; the rest are other MSIs and text files. (Yes, I'm using
> one
> >> MSI to drop off other MSIs. The others don't get installed on that
> system.)
> >>
> >> This existing product is deployed to around 14,000 of our internal
> servers.
> >> Call it MSI-1.
> >>
> >> I now have a second version of it that mostly has different files. Call
> it
> >> MSI-2.
> >>
> >> At first I'll need to install both MSI-1 and MSI-2 on all servers, but
> >> around a year from now, I'll be uninstalling MSI-1 and leaving MSI-2.
> >>
> >> Both MSI-1 and MSI-2 have four text files in common - same name,
> different
> >> contents.
> >>
> >> I can't trust either the folks running our Microsoft system management
> >> tools or the folks on our help desk to reliably do the right thing. I
> wish
> >> I could, but I can't.
> >>
> >> In most cases, installing these does what I'd like, but if the following
> >> events occurs, the MSI-1 version of these text files are on the drive.
> Is
> >> there a way around that?
> >>
> >>
> >>   1. Install MSI-1
> >>   2. Install MSI-2
> >>   3. Uninstall MSI-1
> >>   4. Install MSI-1
> >>
> >>
> >> Note that I'll be sending out a revised "MSI-1" in a month or two, so I
> do
> >> have an opportunity to make changes to the MSI-1 package to address
> this.
> >>
> >> Also note that this is strictly a file deployment. Even the versioned
> EXE
> >> that gets deployed is never run on the server; these are file servers
> >> deployed across our retail locations, and the files delivered are
> accessed
> >> across the network by other in-store systems. So my only opportunity to
> run
> >> code is in the installer.
> >>
> >> I don't really have any need for these text files to ever get deleted,
> >> even on uninstall, so I guess I could write a custom action that figures
> >> out which one belongs and do something, but really that doesn't sound
> ideal.
> >>
> >> Thanks for any words of wisdom.
> >>
> >> Walt
> >>
> >> ____________________________________________________________________
> >> 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