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

Reply via email to