[wix-users] Basic Questions on WiX

Blair Murri osito at live.com
Wed Oct 4 11:33:01 PDT 2017

  1.  Packages can contain only one product, yet over time a single product can be associated with several packages.
  2.  Decimal implementation of https://msdn.microsoft.com/en-us/library/windows/desktop/dd317752%28v=vs.85%29.aspx. Note that MSI does not support Unicode, although the CodePage attribute can sometimes work with UTF-8, with several known issues.
  3.  The Package/@Id value becomes the PackageCode property. If that value is ever repeated in more than one package, MSI may either ignore your package file or error out (usually in strange ad mysterious ways). MSFT requires that PackageCose values always be unique.

In general, any GUID that the toolkit might possibly generate safety for you will accept a “*” (indicating that auto-generated is preferred). If you will not be using minor upgrade/small update packages (which, honestly, are rarely recommended, unless patch packages are absolutely required) I always recommend that you use “*” for your GUIDs everywhere you can.

  1.  What any given Id attribute represents depends on the element that contains it. Please refer to the documentation for each instance.
  2.  MSI requires that all GUIDs it uses be all uppercase. Many toolsets, including WiX, will silently enforce that on your behalf. However, if you use a GUID in a conditional, it won't be converted for you by WiX, so the recommendation prevents errors resulting from copy-paste actions.
  3.  Project templates are used to create MSI packages. Setup templates create Bootstrapper packages.

Blair Murri

Sent from my Windows 10 phone

From: Ven H via wix-users<mailto:wix-users at lists.wixtoolset.org>
Sent: Tuesday, October 3, 2017 9:55 PM
To: WiX Toolset Users Mailing List<mailto:wix-users at lists.wixtoolset.org>
Cc: Ven H<mailto:venh.123 at gmail.com>
Subject: [wix-users] Basic Questions on WiX


I am very new to WiX and trying to learn and implement. I have some basic
(may be silly for some people) questions. Can anyone please answer them?
Here are they, to begin with.

1. If Product element represents the application for which msi is created
and Package element refers to the actual package or msi, package element
should be the parent and product element the child. But here it is the
other way. Can you please explain my gap in understanding?

2. I am still not completely able to understand the attributes like
CodePage and SummaryCodePage from the documentation. Can anyone please
explain this clearly?

3. The documentation in FireGiant says Package ID has to be different for
every package. I didn't get this. Even if I upgrade the MSI, still it has
to have a new Guid everytime? Also, as per the documentation in FireGiant,
PackageID has been marked as * which means it will be auto generated
everytime, whereas when we create a Setup Project in Visual Studio and
observe the Product.wxs file, Product ID has been marked as *. Can anyone
please explain this?

4. In normal scenarios, Id will represent a Guid, where as in WiX, it
represents a normal string. It is confusing. Can anyone please explain this?

5. The FireGiant documentation says Guids have to be in uppercase, whereas
the Visual Studio Setup Project has Guid in lower case. Which is correct?

6. In Visual Studio Project templates, there are both Setup Project and WiX
Project templates? Which one should be used to create an MSI and what is
the use of the other?


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

More information about the wix-users mailing list