Changes
→os
|-
|microsoft(r) windows(r) server 2003 standard x64 edition, r2, sp2, 5.2.3790 || os="server.+standard.+r2.+5\.2\.\d{4}" architecture="x64"
|-
|microsoft(r) windows(r) server 2003 enterprise edition, r2, sp2, 5.2.3790 || os="server.+enterprise.+r2.+5\.2\.\d{4}"
|-
|microsoft® windows vista™ home premium, , sp2, 6.0.6002 || os="premium.+6\.0\.\d{4}"
|-
|microsoft® windows server® 2008 standard, , sp2, 6.0.6002 || os="server.+standard.+6\.0\.\d{4}"
|-
|microsoft® windows® storage server 2008 standard, , sp2, 6.0.6002 || os="storage.+standard.+6\.0\.\d{4}"
|microsoft windows 7 professional, , sp1, 6.1.7601 || os="professional.+6\.1\.\d{4}"
|-
|microsoft windows 7 enterprise, , , 6.1.7600 || os="7 enterprise.+6\.1\.\d{4}"
|-
|microsoft windows 7 ultimate, , , 6.1.7600 || os="ultimate.+6\.1\.\d{4}"
|-
|microsoft windows server 2008 r2 enterprise, , sp1, 6.1.7601 || os="server.+enterprise.+6\.1\.\d{4}"
|-
|microsoft windows 8 enterprise, , , 6.2.9200 || os="enterprise.+6\.2\.\d{4}"
|-
|microsoft windows 8.1, , , 6.3.9600 || os="6\.3\.\d{4}"
|-
|microsoft windows server 2012 standard, , , 6.2.9200 || os="server.+standard.+6\.2\.\d{4}"
|-
|microsoft windows developer preview, , , 6.2.8102 || os="developer.+preview.+6\.2\.\d{4}"
|-
|microsoft windows 10 enterprise, , , 10.0.10586 || os="10\.0\.\d{5}"
|-
|microsoft windows server 2016 standard, , , 10.0.14393 || os="server.+standard.+10\.0\.\d{5}"
|-
|microsoft windows server 2016 datacenter, , , 10.0.14393 || os="server.+datacenter.+10\.0\.\d{5}"
|}
<variable name="PKG_DEST" value="%ProgramFiles%\Mozilla Firefox" architecture="x86"/>
<variable name="PKG_DEST" value="%ProgramFiles(x86)%\Mozilla Firefox" architecture="x64"/>
</source>
If you are creative with your usage of variables then you can use them to dramatically simplify your packages.
'''Simplify your packages:'''
<source lang="xml">
<!-- set destination folder based on architecture -->
<variable architecture="x86" name="PROGFILES" value="%PROGRAMFILES%" />
<variable architecture="x64" name="PROGFILES" value="%PROGRAMFILES(X86)%" />
<!-- BEFORE -->
<check type="logical" condition="or">
<check type="file" architecture="x86" condition="versiongreaterorequal" path="%PROGRAMFILES%\Common Files\microsoft shared\OFFICE15\MSO.DLL" value="15.0.4420.1017" />
<check type="file" architecture="x64" condition="versiongreaterorequal" path="%PROGRAMFILES(X86)%\Common Files\microsoft shared\OFFICE15\MSO.DLL" value="15.0.4420.1017" />
</check>
<!-- AFTER --> <!-- Now you don't have to use a conditional check statement!!! -->
<check type="file" condition="versiongreaterorequal" path="%PROGFILES%\Common Files\microsoft shared\OFFICE15\MSO.DLL" value="15.0.4420.1017" />
</source>
<!-- overwrite default language for German systems -->
<variable name="PKG_LANGUAGE" value="de" lcid="407,c07,1407,1007,807"/>
<!-- overwrite default language for Dutch systems -->
<variable name="PKG_LANGUAGE" value="nl" lcid="813,413"/>
</source>
[[category:Documentation]]