I would first attempt declaring your bindpath values in your light command line just to be sure with a -b Protocol=..\Protocol\bin\Release
-----Original Message----- From: Jani C Oinonen [mailto:jani.c.oino...@consultant.husqvarnagroup.com] Sent: March-04-15 10:15 AM To: General discussion about the WiX toolset. Subject: Re: [WiX-users] Including files to installer with bindpath -bestpractice? The project looks like this (v3.7.1224.0): In my wixproj i have different BindInputPaths like these: <BindInputPaths Include="..\Protocol\bin\Release\"> <BindName>Protocol</BindName> <InProject>false</InProject> </BindInputPaths> Is there a better way to declare these paths? i don't like having hardcoded paths in the wixproj file. Then the files in the wxs are then included like this: <Component Id="cmpProtocol" Guid="*"> <File Id="fileProtocol" KeyPath="yes" Source="!(bindpath.Protocol)\Protocol.dll" /> </Component> I then build two different .msi's on the build server and fetch them. Now comes the patching. At the moment the steps that i'm trying locally looks like this: The administrative install and creation of wixmst: Melt.exe old\Setup1.2.1027.3270.msi -out oldout\Setup.wixpdb -pdb old\Setup.wixpdb -x oldout\files Melt.exe newSetup1.2.1028.3271.msi -out newout\Setup.wixpdb -pdb new\Setup.wixpdb -x newout\files torch.exe -v -p -xi oldout\Setup.wixpdb newout\Setup.wixpdb -out patch\diff.wixmst Creation of wixmsp candle.exe patch.wsx light.exe patch.wixobj -out patch\patch.wixmsp Creation of msp pyro.exe patch\patch.wixmsp -out patch\patch.msp -t RTM patch\diff.wixmst And this is where i'm getting errors, when running pyro: error PYRO0103 : The system cannot find the file 'C:\some\path\on\buildserver\Source\Setup\Company.ico'. error PYRO0103 : The system cannot find the file 'C:\some\path\on\buildserver\Source\Setup\Company.cer'. The .ico and .cer are included like this: <Icon Id="icon.ico" SourceFile="!(bindpath.ProjectDir)\Company.ico"/> <Property Id="ARPPRODUCTICON" Value="icon.ico" /> <Property Id="WIXUI_INSTALLDIR" Value="INSTALLLOCATION" /> <PatchCertificates> <DigitalCertificate Id="HusqvarnaCertificate" SourceFile="!(bindpath.ProjectDir)\Company.cer" /> </PatchCertificates> I thought that melt.exe would replace the bindpaths with the local paths? Or am i doing something wrong? It's not complaining about the other 65 files that are included in the installer, although i'm not sure if pyro lists all errors. Maybe it stops after a while. Any help is highly appreciated! Best regards, Jani From: "Tunney, Stephen" <stephen.tun...@nuance.com> To: General discussion about the WiX toolset. <wix-users@lists.sourceforge.net> Date: 2015-03-04 15:41 Subject: Re: [WiX-users] Including files to installer with bindpath - best practice? What command line arguments do you have for your light command that generates your wixmsp? -----Original Message----- From: Jani C Oinonen [mailto:jani.c.oino...@consultant.husqvarnagroup.com] Sent: March-04-15 5:03 AM To: wix-users@lists.sourceforge.net Subject: [WiX-users] Including files to installer with bindpath - best practice? I'm in the process of enabling UAC patching for our software. The process today looks like this (some steps are left out): I use melt on the two different msi packages + wixpdb files to create new wixpdb files + extraction of all the files (administrative install). i use torch, that compares the two newly created wixpdb files and their extracted files, to create a diff.wixmst file i create the patch.wixmsp with light Then i create the final .msp file with pyro + diff.wixmst and patch.wixmsp. This works fine when i build everything locally. However, if i retrieve the two .msi packages from our buildserver, pyro will start throwing PYRO0103 errors. The error message clearly shows that the wixdb files contains the paths from the buildserver, which arent ofcourse valid locally on my computer. I find it really hard to find information but i've come to the conclusion that i need to use BindInputPaths in my wixproj file and then use !(bindpath.SomeName) in the wxs files. If i've understood the issue correctly, this should give pyro the possibility to replace the paths and the errors should go away. However, in one of my wxs files there are about 15 project references, like this: $(var.SomeProject.TargetPath) I could ofcourse create named bindpaths for all the projects, but something tells me that there should be a smarter way to do this? Another problem that arises is that i'm probably forced to use hardcoded paths? $(var.SomeProject.TargetPath) always results in the correct path, but if i use bindpaths i'm forced to provide a hardcoded, relative path to the built dll's, etc? Example: <ItemGroup> <BindInputPaths Include="..\..\SomeVsProject\bin\release\"> <BindName>SomeVsProject</BindName> <InProject>false</InProject> </BindInputPaths> </ItemGroup> This will work fine if the project folder never changes it's name and only when i compile in releasemode. But as soon as that changes the wix project will fail. Is there some way to include these files in a more reliable way? Best regards, Jani The information in this email may be confidential and/or legally privileged. It has been sent for the sole use of the intended recipient(s). If you are not an intended recipient, you are strictly prohibited from reading, disclosing, distributing, copying or using this email or any of its contents, in any way whatsoever. If you have received this email in error, please contact the sender by reply email and destroy all copies of the original message. Please also be advised that emails are not a secure form for communication, and may contain errors. ------------------------------------------------------------------------------ Dive into the World of Parallel Programming The Go Parallel Website, sponsored by Intel and developed in partnership with Slashdot Media, is your hub for all things parallel software development, from weekly thought leadership blogs to news, videos, case studies, tutorials and more. Take a look and join the conversation now. http://goparallel.sourceforge.net/ _______________________________________________ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users ------------------------------------------------------------------------------ Dive into the World of Parallel Programming The Go Parallel Website, sponsored by Intel and developed in partnership with Slashdot Media, is your hub for all things parallel software development, from weekly thought leadership blogs to news, videos, case studies, tutorials and more. Take a look and join the conversation now. http://goparallel.sourceforge.net/ _______________________________________________ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users The information in this email may be confidential and/or legally privileged. It has been sent for the sole use of the intended recipient(s). If you are not an intended recipient, you are strictly prohibited from reading, disclosing, distributing, copying or using this email or any of its contents, in any way whatsoever. If you have received this email in error, please contact the sender by reply email and destroy all copies of the original message. Please also be advised that emails are not a secure form for communication, and may contain errors. ------------------------------------------------------------------------------ Dive into the World of Parallel Programming The Go Parallel Website, sponsored by Intel and developed in partnership with Slashdot Media, is your hub for all things parallel software development, from weekly thought leadership blogs to news, videos, case studies, tutorials and more. Take a look and join the conversation now. http://goparallel.sourceforge.net/ _______________________________________________ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users ------------------------------------------------------------------------------ Dive into the World of Parallel Programming The Go Parallel Website, sponsored by Intel and developed in partnership with Slashdot Media, is your hub for all things parallel software development, from weekly thought leadership blogs to news, videos, case studies, tutorials and more. Take a look and join the conversation now. http://goparallel.sourceforge.net/ _______________________________________________ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users