SharpDevelop WIX project: MSBuild Configurations
- by chezy525
Using SharpDevelop, I wrote a windows service with a WIX setup project to install/auto-start it. For testing purposes, I've done a number of things I don't want to do in the release version (i.e. add an uninstall shortcut to the desktop). So, my question really boils down to this; how do you handle build configurations within a WiX project?
I think I've solved most of my problems after I found this question Passing build parameters to .wxs file to dynamicaly build wix installers. And thus far I've done the following:
Added a property that checks the Configuration variable
<Product>
...
<Property Id="DEBUG">$(var.Configuration) == 'Debug'</Property>
...
Separated all of the debug files into unique components and setup as a separate feature with a condition checking the DEBUG property.
<Product>
...
<Feature>
...
<Feature Id="DebugFiles" Level="1">
<ComponentRef Id="UninstallShortcutComponent" />
<Condition Level="0">DEBUG</Condition>
</Feature>
...
Then, finally, pointing to the correct file based on the configuration, using the Configuration variable
<Directory>
...
<Component>
<File Source="..\mainProject\bin\$(var.Configuration)\main.exe" />
</Component>
...
So, now my question is simplified to how to handle files that may not exist under certain build configurations (like .pdb files). Using all of the above (including pointing the file source to the ...\bin\Release\*.pdb, which I know isn't expected to exist) I get a LGHT0103 compiler error, it can't find the file.