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" <[email protected]>
To: General discussion about the WiX toolset.
<[email protected]>
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:[email protected]]
Sent: March-04-15 5:03 AM
To: [email protected]
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
[email protected]
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
[email protected]
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
[email protected]
https://lists.sourceforge.net/lists/listinfo/wix-users