This framework will allow one to 'wrap' an exe installer into an MSI for quick and easy deployment in a corporate environment.
This may reduce or negate the need for 'capture' apps, such as AppDeploy Repackager.
- .Net environment (Native Windows, Mono, etc)
- WiX Toolset
Currently, nextcloud.wxs
simply needs the indicated edits on lines 2-6, making
the appropriate updates for .exe filename, package version, GUID (optional, see
below).
If you wish to use your own custom GUIDs, GUIDs for each new installer version may be created via web tools. N.B. all GUIDs must be be in majuscule case.
Package creation may be done automatically: After ensuring that the WiX
tools are in the Windows Path, simply run the make_installer.bat
file. The
script will automatically clear any artifacts from previous builds and generate
a new MSI package.
Package creation may also be done manually: Using the standard WiX tools-
first, candle *.wxs
then light *.wixobj
, and the MSI will be created.
- Copy the official or custom built nextcloud.exe file into the project folder.
- Edit
nextcloud.wxs
lines 2-6 as necessary. Generally, only update version and filename. - Run
make_installer.bat
, or runcandle *.wxs
, andlight *.wixobj
. - Copy the newly created nextcloud.msi to an appropriate install location (AD server, Network share, etc.)
- Install the nextcloud.msi with any valid tool- Group Policy, Remote Admin commands, etc.
WiX and Windows use Globally Unique Identifiers as a way to identify software installs and other 'products' that are stored on a Windows system. Because of the length and diversity of GUIDs, the chance of a GUID collision is near-zero. For general purpose projects, such as this, any common GUID generator may be used.
When generating an update for the WiX file, a single new GUID is needed on the indicated line. The GUID referring to the previous install must also be listed so that the installer can properly identify and remove the previous package. All GUIDs must be in majuscule (upper) case.
Also of note is a hard-coded GUID in nextcloud.wxs
line 22.
This hard-coded GUID can be used under the assumption that packages are deployed in such a method that the receiving computers have since been restarted and/or cleared the temporary file cache.
Any improvements are more than welcome. Please submit a pull request and I'll take a look.
If you run into bugs, or need assistance with the creation of the MSI package, please open a GitHub Issue.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful, but
WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
for more details.