Thank you Phil.
I am trying the "Using Patch Creation Properties" approach. I made two
subfolders, 3.8.1 contained only the original DLL I wished to replace, and
3.8.2 the updated DLL.
http://wixtoolset.org/documentation/manual/v3/patching/patch_building.html
Should both UpgradeCode and Product ID match the original 3.81 version seen in
Orca?
When both match the original 3.8.1 MSI the patch launches the 3.8.1
repair/remove installer.
msiexec.exe /p patch\patch.msp /l*vx patch.log
When only UpgradeCode matches the Windows Installer displays a dialog with
message:
"The upgrade patch cannot be installed" because "program to be upgraded may be
missing".
===Orca Properties Displayed With Original 3.8.1 MSI===
Table: Property
Manufacturer The Charles Machine Works, Inc.
ProductCode {C80FB86A-42A1-4FB8-B9B2-30DCFF138E3D}
ProductName TMS Plus
ProductVersion 3.8.1
UpgradeCode {59BF7F9E-FF46-45D5-8050-F1477466A661}
Table: File
_ACE1F72023AD44F5829BCA1329E212FD C__ACE1F72023AD44F5829BCA1329E212FD
REGTMS.DLL|Regtms.dll 40960 1.0.0.2 1033 514 80
Table: Component
C__ACE1F72023AD44F5829BCA1329E212FD {CFB9D5A8-65CC-E091-DC21-4F4653B149D6}
TARGETDIR 0 _ACE1F72023AD44F5829BCA1329E212FD
Table: FeatureComponents
DefaultFeature C__ACE1F72023AD44F5829BCA1329E212FD
Table: Feature
DefaultFeature 2 1 TARGETDIR 0
Table: Directory
TARGETDIR SourceDir
Table: CreateFolder
TARGETDIR C__A0F5E19C01BE425EB5FD3CE9A5BBB86D
Table: CustomAction
DIRCA_TARGETDIR 307 TARGETDIR [ProgramFilesFolder]TMSPlus
*************
* File: product.wxs
*************
<?xml version="1.0" encoding="UTF-8"?>
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
<Product Id="5ABB1D50-4D36-4630-B38B-4748D59EF5EA"
Name="TMS Plus Patch Example"
Language="1033"
Version="3.8.1"
Manufacturer="The Charles Machine Works, Inc."
UpgradeCode="59BF7F9E-FF46-45D5-8050-F1477466A661">
<Package Description="Installs a file that will be patched."
Comments="This Product does not install any executables"
InstallerVersion="200"
Compressed="yes" />
<Media Id="1" Cabinet="product.cab" EmbedCab="yes" />
<FeatureRef Id="DefaultFeature"/>
</Product>
<Fragment>
<Feature Id="DefaultFeature" Title="Sample Product Feature" Level="1">
<ComponentRef Id="SampleComponent" />
</Feature>
</Fragment>
<Fragment>
<DirectoryRef Id="TARGETDIR">
<Component Id="SampleComponent"
Guid="CFB9D5A8-65CC-E091-DC21-4F4653B149D6" DiskId="1">
<File Id="_ACE1F72023AD44F5829BCA1329E212FD" Name="Regtms.dll"
Source=".\$(var.Version)\Regtms.dll" />
</Component>
</DirectoryRef>
</Fragment>
<Fragment>
<Directory Id="TARGETDIR" Name="SourceDir">
<Directory Id="ProgramFilesFolder" Name="PFiles">
<Directory Id="SampleProductFolder" Name="TMSPlus">
</Directory>
</Directory>
</Directory>
</Fragment>
</Wix>
*************
* File: Patch.wxs
*************
<?xml version="1.0" encoding="utf-8"?>
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
<PatchCreation
Id="FD1DFB39-D96C-4E06-8247-F2A9AD4BFCB4"
CleanWorkingFolder="yes"
OutputPath="patch.pcp"
WholeFilesOnly="yes"
>
<PatchInformation
Description="Small Update Patch"
Comments="Small Update Patch"
ShortNames="no"
Languages="1033"
Compressed="yes"
Manufacturer="Dynamo Corp"/>
<PatchMetadata
AllowRemoval="yes"
Description="Small Update Patch"
ManufacturerName="The Charles Machine Works, Inc."
TargetProductName="TMS Plus Patch Sample"
MoreInfoURL="http://www.ditchwitch.com/"
Classification="Update"
DisplayName="TMS Plus Patch Sample"/>
<Family DiskId="5000"
MediaSrcProp="Sample"
Name="Sample"
SequenceStart="5000">
<UpgradeImage SourceFile="3.8.2\admin\product.msi"
Id="SampleUpgrade">
<TargetImage SourceFile="3.8.1\admin\product.msi" Order="2"
Id="SampleTarget" IgnoreMissingFiles="no" />
</UpgradeImage>
</Family>
<PatchSequence PatchFamily="SamplePatchFamily"
Sequence="1.0.0.0"
Supersede="yes" />
</PatchCreation>
</Wix>
Any direction is much appreciated,
-Ed
-----Original Message-----
From: Phill Hogland [mailto:[email protected]]
Sent: Friday, April 25, 2014 11:30 AM
To: [email protected]
Subject: Re: [WiX-users] How implement installer to update single file ?
Upgrade? Patch?
If you have the old MSI, there are a couple of options (but I am no expert).
If the old mis supports doing a /a layout then you can extract the files of the
old msi to two folder tress, original and changed, change the files in the
'changed' folder tree, and use torch to create a transform.
Or you can use orca in the old msi to find out which component the files is
associated. Then create a new msi with only all of the files (resources) of
that component, using the same component GUID, and run that msi to update the
file. But the component must be identical to the component in the original
package with regard to the guid, target path, and all resources included in
that component.
I am just learning and experimenting with a similar situation, so others can
provide more expert advice.
--
View this message in context:
http://windows-installer-xml-wix-toolset.687559.n2.nabble.com/How-implement-installer-to-update-single-file-Upgrade-Patch-tp7594344p7594346.html
Sent from the wix-users mailing list archive at Nabble.com.
------------------------------------------------------------------------------
Start Your Social Network Today - Download eXo Platform Build your Enterprise
Intranet with eXo Platform Software Java Based Open Source Intranet - Social,
Extensible, Cloud Ready Get Started Now And Turn Your Intranet Into A
Collaboration Platform http://p.sf.net/sfu/ExoPlatform
_______________________________________________
WiX-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/wix-users
This email and any files transmitted with it from The Charles Machine Works,
Inc. are confidential and intended solely for the use of the individual or
entity to which they are addressed. If you have received this email in error
please notify the sender. Our company accepts no liability for the contents of
this email, or for the consequences of any actions taken on the basis of the
information provided, unless that information is subsequently confirmed in
writing. Please note that any views or opinions presented in this email are
solely those of the author and do not necessarily represent those of the
company. Finally, the recipient should check this email and any attachments
for the presence of viruses. The company accepts no liability for any damage
caused by any virus transmitted by this email.
------------------------------------------------------------------------------
"Accelerate Dev Cycles with Automated Cross-Browser Testing - For FREE
Instantly run your Selenium tests across 300+ browser/OS combos. Get
unparalleled scalability from the best Selenium testing platform available.
Simple to use. Nothing to install. Get started now for free."
http://p.sf.net/sfu/SauceLabs
_______________________________________________
WiX-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/wix-users