You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
If you follow the steps to integrate WiX projects into daily builds and do not install WiX on your build machines, you will not be able to build custom action projects as the path to MakeSfxCA.exe will be incorrect.
The problem is the _SetDefaultPathValues target in Wix.CA.targets. It sets WixSdkPath to $(WixToolPath)..\sdk\.
On a machine with WiX installed on it, WixToolPath would be set to something like C:\Program Files (x86)\WiX Toolset v3.9\bin\. Notice bin at the end. This is important. In C:\Program Files (x86)\WiX Toolset v3.9\ you have bin and sdk subdirectories, so that works fine.
However, if you follow those instructions and point WixToolPath to where you unpacked wix*-binaries.zip to, you don't have a bin subdirectory; everything that would be there is just in that directory. There is still an sdk subdirectory. When _SetDefaultPathValues sets WixSdkPath, it sets it to a path that likely doesn't exist (again, that's $(WixToolPath)..\sdk\). Finally, this results in being unable to run MakeSfxCA.exe in the PackCustomAction target because the path doesn't exist.
This can be fixed by doing one of the following:
Move the binaries from the root of the directory wix*-binaries.zip was unpacked to to a freshly created bin subdirectory
Including adding this in the PropertyGroup section with the other properties in the instructions: <WixSdkPath>$(WixToolPath)sdk\</WixSdkPath>
You may also want to add <WixCATargetsPath>$(WixSdkPath)Wix.CA.targets</WixCATargetsPath> so the file from the installed version of WiX (if there is one) isn't used.
Originally opened by dcormier
The text was updated successfully, but these errors were encountered:
The link that reads, "the steps to integrate WiX projects into daily builds" originally went here before this was moved from the WiX website to GitHub. Unfortunately, I can't edit it to correct it.
If you follow the steps to integrate WiX projects into daily builds and do not install WiX on your build machines, you will not be able to build custom action projects as the path to MakeSfxCA.exe will be incorrect.
The problem is the
_SetDefaultPathValues
target inWix.CA.targets
. It setsWixSdkPath
to$(WixToolPath)..\sdk\
.On a machine with WiX installed on it,
WixToolPath
would be set to something likeC:\Program Files (x86)\WiX Toolset v3.9\bin\
. Noticebin
at the end. This is important. InC:\Program Files (x86)\WiX Toolset v3.9\
you havebin
andsdk
subdirectories, so that works fine.However, if you follow those instructions and point
WixToolPath
to where you unpacked wix*-binaries.zip to, you don't have abin
subdirectory; everything that would be there is just in that directory. There is still ansdk
subdirectory. When_SetDefaultPathValues
setsWixSdkPath
, it sets it to a path that likely doesn't exist (again, that's$(WixToolPath)..\sdk\
). Finally, this results in being unable to runMakeSfxCA.exe
in thePackCustomAction
target because the path doesn't exist.This can be fixed by doing one of the following:
bin
subdirectoryPropertyGroup
section with the other properties in the instructions:<WixSdkPath>$(WixToolPath)sdk\</WixSdkPath>
You may also want to add
<WixCATargetsPath>$(WixSdkPath)Wix.CA.targets</WixCATargetsPath>
so the file from the installed version of WiX (if there is one) isn't used.The text was updated successfully, but these errors were encountered: