Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/felfert/docker-wix
Yet another dockerized WiX toolset
https://github.com/felfert/docker-wix
docker docker-image wine wix wix-toolset
Last synced: 2 months ago
JSON representation
Yet another dockerized WiX toolset
- Host: GitHub
- URL: https://github.com/felfert/docker-wix
- Owner: felfert
- License: mit
- Created: 2017-12-13T10:20:28.000Z (about 7 years ago)
- Default Branch: master
- Last Pushed: 2021-01-29T09:22:59.000Z (almost 4 years ago)
- Last Synced: 2024-10-08T13:19:39.046Z (3 months ago)
- Topics: docker, docker-image, wine, wix, wix-toolset
- Language: Dockerfile
- Size: 15.6 KB
- Stars: 8
- Watchers: 3
- Forks: 3
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# docker-wix
Dockerized WiX toolset, focussed on easy setup/usageThis docker image is focussed on ease of use. Instead of
modifying the Dockerfile or the necessity of special syntax like
"wine candle.exe ...", this image comes with a builtin generator
for creating wrapper scripts on the host. This results in a seamless,
transparent user experience like "candle product.wxs" Due to a clever
combination of a docker mount and a combination of wrapper scripts,
it can handle both relative and absolute pathes in parameters.## First usage
Before starting your regular work with this image, you must create
wrapper scripts for the various WiX tools on your host system.
For this, the special command mkhostwrappers is used like this:Change into a suitable directory in your **PATH**, then run
```
docker run --rm felfert/wix mkhostwrappers | sh
```
Notice the **absence** of the usual *-it* parameter. Of course, you need write
permissions, so if you want to do create the wrappers in /usr/local/bin, then
you would use instead:
```
docker run --rm felfert/wix mkhostwrappers | sudo sh
```
Alternatively, use a newly created directory and later set your **PATH** variable
accordingly.The above command creates a wrapper script (candle) as well as a bunch of symlinks.
From now on, you simply can invoke the various WiX tools as if they were native
to your Linux system. E.g.:
```
candle MyProduct.wxs
light -sval MyProduct.wixobj
```
## Known limitations
* For security reasons, **only** environment variables starting with **WIX_** are
propagated into the docker container. If you want to make use of the ${env.VARNAME}
feature in WiX, you therefore must name your variables accordingly.
* The image is quite big (1 Gb currently). With alpine, this could be much smaller.
Unfortunately however, the wine package from alpine fails to install dotnet40 which is
an essential prerequisite for WiX. As of 30-12-2019, there is an experimental image
(tagged felfert/wix:latest-slim) with a reduced size of 856 Mb.## Known bugs
* The "light" tool **must** be invoked with **disabled msi validation** (-sval option),
otherwise it fails on wine.
* When propagating *WIX_* environment variables into the container, the values are **not**
modified if they contain an absolute path. As a workaround, you must prefix these values
with */work* yourself.