[wix-users] The prerequisites fail to install
r.sean.hall at gmail.com
Fri Apr 8 15:30:46 PDT 2022
Package/@SourcePath tells the WiX build tools where to find the file when
building the bundle.
Package/@Name tells the bundle where to find the file when it is running on
the end-user's machine.
It is not clear what you want. We would need to see the bundle's log from
%TEMP% to see if it's the bundle's fault that files are getting put into
C:\ProgramData. That should never happen.
On Fri, Apr 8, 2022 at 4:38 PM Tigran Galoyan via wix-users <
wix-users at lists.wixtoolset.org> wrote:
> Hi Community,
> In my installers solution I have a couple of bootstrapper projects which
> all depend on almost the same set of prerequisite packages. Not to have a
> Prerequisites folder for each project and have all the packages duplicated
> in every project Prerequisites folder I moved the Prerequisites folders to
> be located at one place only at the root level next to my solution file:
> *assume my C:\Installers folder has the following structure*
> So my bootstrapper projects in their <Bundle /> have a definition:
> <WixVariable Id="PrerequisitesDirectory"
> Value="$(SolutionDir)Prerequisites\" />
> and the <ExePackage>-s have the SourceFile defined to be based on that path
> However, when I build the solution on our build server, over there the
> source code is on E:\ drive (E:\Installers\...) and when I get the
> setup.exe to install on a target machine it fails to install the
> prerequisites because it tries to create a local cache using the absolute
> path from the source and since on the target machine we don't have an E:\
> drive then it cannot copy the prerequisites and run them. If I build on my
> local machine assuming the code is on C:\Installers\ then everything is
> fine when we install the setup.exe on a target machine, it basically
> creates the C:\Installers\Prerequisites\ folder and copies the packages
> under. That way it works.
> We cannot change the E:\ drive structure on the builder servers, so I had
> to move the Prerequisites folder and have its duplicated copies under each
> bootstrapper project folder and in my bootstrapper projects in their
> <Bundle /> have changed the definition to:
> <WixVariable Id="PrerequisitesDirectory" Value="Prerequisites\" />
> This way it will work and during the setup install on a target machine the
> prerequisite packages are copied under the "ProgramData\Package
> Cache\[GUID-FOLDER]\" and installed from there with no issues.
> To avoid the duplication of source packages I thought I can use relative
> paths when defining the prerequisites directory and I moved it back to
> solution level as it was before and modified the Bundles to have the
> variable definition this way:
> <WixVariable Id="PrerequisitesDirectory" Value="..\..\Prerequisites\"
> The setup.exe again fails to install the packages since this time the
> Prerequisites cache folder is being created under C:\ProgramData\ directly
> since 2 levels up from "ProgramData\Package Cache\[GUID-FOLDER]\" ends up
> under ProgramData and Windows is not happy and won't install the packages
> from that folder (security reasons I believe).
> Can you please advise, how I can avoid having duplicate copies of
> Prerequisites under each bootstrapper folder, to have it at one location
> (preferably at the solution level) and still dictate the Windows Installer
> to put my Prerequisites under "C:\ProgramData\Package
> Thanks in advance and your help is much appreciated.
> WiX Toolset Users Mailing List provided by FireGiant
More information about the wix-users