[wix-users] [Question] Using Wix to pack a MSI file using exe file that depends of a folder

Bryan Dam bryand at recastsoftware.com
Thu Jul 16 06:37:41 PDT 2020


The point of a bundle isn’t to just include some extra files, it’s to chain multiple separate installers into one cohesive installation.  In your use case that would mean using a bundle to install your pre-requisites in the required order before installing the main application.  I’d point out that if it’s just a matter of installing dependencies and you’re using SCCM then I’d highly recommend using SCCM’s built-in dependency capabilities over having to maintain a custom bundle to do the same thing.

If you just need certain files to be in certain places (ex. C:\OSGeo4W64, C:\Temp\packages) then just use PSADT to do those copies before calling the installer. That’s exactly the kind of thing PSADT exists to do.

In short, you could probably accomplish this using a bundle but that’s definitely what I’d call ‘hard mode’.

        Bryan
From: João Gaspar <joao.f.r.gaspar at gmail.com>
Sent: Thursday, July 16, 2020 6:19 AM
To: Bryan Dam <bryand at recastsoftware.com>
Cc: WiX Toolset Users Mailing List <wix-users at lists.wixtoolset.org>; Hoover, Jacob <Jacob.Hoover at greenheck.com>
Subject: Re: [wix-users] [Question] Using Wix to pack a MSI file using exe file that depends of a folder

Hi Bryan, thank you for your answer.

I will give you more about the background process of QGIS installation.
The project has for Windows a standalone installer based on NSIS and a Network Installer based on Cygwin.
For my case and in my work and for update versions purpose my IT department asks me to prepare for each release an installation that will be standard installation for all users.

The standard installation that we use needs some dependencies that can be installed using the network installer with a previous download of the packages. If I choose the standalone way it's can be done but needs an extra step after installations and need the internet to download the missing dependencies.

After read the answer of Jacob, for my needs the bundle is perhaps the best option. I'm trying to understand how to declare on wix the folder with packages from network installer with network installer.exe.

For example having the .exe and the folder with the packages in a C:\temp folder I use a normal command line on Windows like this:

osgeo4w-setup-x86_64.exe -q -k -g -A -d -a x86_64 --local-install --root "C:\\OSGeo4W64" -l "C:\\Temp\\packages" -C Libs -C Commandline_Utilities -C Desktop

these parameters are from the installer:
https://trac.osgeo.org/osgeo4w/wiki/CommandLine

The idea is to use Wix and bundle the exe. and the folder with packages into a single bundle.exe. My doubt is using the bundle installation, how can I point .exe to an inside folder of packages and assume the parameters of .exe network installer.

For parameters I read about this InstallCommand in https://wixtoolset.org/documentation/manual/v3/xsd/wix/exepackage.html

Only need to understand how can I integrate the path to the folder inside of bundle to the packages folder


Best regards,
João Gaspar


Bryan Dam <bryand at recastsoftware.com<mailto:bryand at recastsoftware.com>> escreveu no dia terça, 14/07/2020 à(s) 17:28:
FWIW: On the SCCM side of things there should be no need for PSADT here.  You would be creating a bundle/bootstrapper/wrapper/chainer EXE that ConfigMgr will be more than happy to run and detect.

I'm a little lost on exactly what you are trying to do.  What doesn't their installer do that you're trying to work around.  My guess is that you want the same set of binary files but support different configurations in a way that their own installer does not support.  In this case I'm not sure what a bundle that simply passes through parameters gets you. I'd consider going all in on PSADT and use that to implement whatever logic you're hoping to accomplish.



-----Original Message-----
From: wix-users <wix-users-bounces at lists.wixtoolset.org<mailto:wix-users-bounces at lists.wixtoolset.org>> On Behalf Of João Gaspar via wix-users
Sent: Tuesday, July 14, 2020 11:47 AM
To: Hoover, Jacob <Jacob.Hoover at greenheck.com<mailto:Jacob.Hoover at greenheck.com>>
Cc: João Gaspar <joao.f.r.gaspar at gmail.com<mailto:joao.f.r.gaspar at gmail.com>>; WiX Toolset Users Mailing List <wix-users at lists.wixtoolset.org<mailto:wix-users at lists.wixtoolset.org>>
Subject: Re: [wix-users] [Question] Using Wix to pack a MSI file using exe file that depends of a folder

Hi Jacob,
thank you for your answer.
After you speak about bundle I did a little search and found this to try the understand the concept.
https://www.advancedinstaller.com/wix-bundles.html

And I found this for SCCM to help me in the SCCM part:
https://psappdeploytoolkit.com/

Do you think this can be combined to have a reasonable solution?

Please correct me if I'm saying something wrong.

I have look for other alternative but I think for me I need more time to search and understand this option that is to build the source code from QGIS software (https://github.com/qgis with the right dependencies and 3rd providers and try to use this:
https://github.com/giddie/qt-cmake-template to create a MSI installer using Wix toolset.

I will try to keep contact as well with QGIS packaging team to understand what is the best way.

Best regards,
João Gaspar


Hoover, Jacob <Jacob.Hoover at greenheck.com<mailto:Jacob.Hoover at greenheck.com>> escreveu no dia terça,
14/07/2020 à(s) 15:49:

>
> http://robmensching.com/blog/posts/2012/6/25/b-is-for-bundle-and-thats
> -good-enough-for-me/
>
>
>
> Use a bundle, use SCCM and a registry detect condition. Bundles can
> use a /layout which places dependencies in the same folder or
> subfolder based on authoring to be a source of dependencies. Trying to
> jam this all in a MSI is fraught with issues, such as
> https://docs.microsoft.com/en-us/windows/win32/msi/concurrent-installa
> tions
> and is advised against here
> https://docs.microsoft.com/en-us/windows/win32/msi/windows-installer-b
> est-practices#do-not-ship-concurrent-installations
>
>
>
>
>
> *From:* wix-users [mailto:wix-users-bounces at lists.wixtoolset.org<mailto:wix-users-bounces at lists.wixtoolset.org>] *On
> Behalf Of *João Gaspar via wix-users
> *Sent:* Tuesday, July 14, 2020 5:19 AM
> *To:* wix-users at lists.wixtoolset.org<mailto:wix-users at lists.wixtoolset.org>
> *Cc:* João Gaspar <joao.f.r.gaspar at gmail.com<mailto:joao.f.r.gaspar at gmail.com>>
> *Subject:* [wix-users] [Question] Using Wix to pack a MSI file using
> exe file that depends of a folder
>
>
>
> Hi,
> I'm giving the first steps with Wix Toolset and I need some help to
> create MSI installer.
>
> I'm using a GIS open source Desktop (QGIS) that have a network
> installer option that can point to a remote URL with the dependencies
> packages to install or point to a local folder where these packages
> are already downloaded.
>
> The idea is to create a standard installation based on specific
> packages to distribute to in different computers based on the same packages and .exe.
> So the idea is to use WiX to pack the .exe and the folder with the
> packages inside an MSI file.
>
> The procedure that I have in mind (and I don't know if is possible) is
> to prepare Wix configuration to run the .exe file pass the .exe
> parameters to install the packages that are packed inside of the MSI.
>
> This can be helpful for organizations that use QGIS and need to deploy
> a lot of installations with the same packages. In my case, my company
> ask me if is possible to have an MSI file because of Microsoft System
> Center Configuration Manager (SCCM) installation that they have.
>
> I read some documentation of Wix toolset and I interpreted that this
> can be done with custom actions, this is possible? And how can I pack
> an MSI installer using only the folder with the packages and .exe file?
>
> Please correct me if I'm saying something wrong
>
> One of my goals at the end of this process is to share this
> configuration with the QGIS project to help others that need this type of configuration.
>
> Thank you for your help.
>
> Best regards,
> João Gaspar
>
> ____________________________________________________________________
> WiX Toolset Users Mailing List provided by FireGiant
> http://www.firegiant.com/
>
> NOTE: This email was received from an external source. Please use
> caution when opening links or attachments in the message.
>

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


More information about the wix-users mailing list