Page 1 of 1
Trouble with patch builds.
Posted: Thu Jul 23, 2009 10:02 am
by ChrisN
Hi.
We are using InstallAware 9.06 and are having problems with patch builds. We have three products for which we want to build an installer. Because these products are similar, we've only created one setup project and are using compiler variables to build the installer for the product defined by the compiler variable value.
I do the following steps to build a patch.
1. I build the installer (CD/DVD, uncompressed). Everything's fine.
2. Then I add some new or updated files and...
3. ... build a patch for the previous version.
The created patch is much bigger than the added files, e.g. we add 27 files which have an overall size of 17 MegaByte and the Cabinet Maker shows 295 files with a total size of 290 MegaByte. The patch file that is created has a size of 301 MegaByte.
I really have tried a lot to fix it.
I have...
... disabled hard links (NOHARDLINKS = TRUE).
... set LONGCOMPONENTS = TRUE.
... added Web Media Blocks to split the project into smaller parts.
... deleted the compiler variables which define the product.
... tried different settings in the designer tab.
... used different project settings.
... read the whitepaper for building patches.
I really don't know what to do next to solve the problem. An ideas?
Best regards.
Posted: Thu Jul 23, 2009 7:21 pm
by MichaelNesmith
Try using full file patches? The Windows Installer DIFF engine might just be choking on your file's binary differences, producing too large files.
Posted: Fri Jul 24, 2009 12:45 am
by ALive
Hi!
Maybe it could help. How many previous version do you have in the list that you build patch against?
I mean, if you build a patch for version 1.0, 1.1, 1.2, 1.3, that patch would contain the differentials for each of the version, and that's why it could be larger than all changed files for certain version.
Maybe it will help.
Have a nice day!
Posted: Fri Jul 24, 2009 6:16 am
by ChrisN
Hi.
I've tried your suggestions, but there are no changes. It seems that the build process includes files that haven't changed since the last version.
Best regards.
Posted: Tue Aug 18, 2009 3:39 am
by ChrisN
Hi.
I am still having problems with patch builds. Still the same problem with the same files. I add some files about 3 MB and the patch build includes so many files that the patch size is at last 150 MB.
I added [compiler if Variable BUILDMODE not Equals Patch] to exclude the files causing this problem, but they were included anyway.
If I describe what I've done exactly, maybe there is anyone who can help me out.
1. Build an uncompressed release (Version: 10.00.01).
2. Add some files (Install Files...).
3. Add the reference to the previous version (1).
4. Set the new version number for the patch to 10.00.02.
5. Define an Update Pack (Design->Web Updates->Update Packs).
6. Add the Update Pack for the previous version (Design->Web Updates->Versions) (1).
7. Click on Build Patch to build the patch.
Is something wrong or missing in the described steps? Or what else could be the problem?
Best regards.
Posted: Tue Aug 18, 2009 2:00 pm
by MichaelNesmith
If your base setups are uncompressed, try adding the NOHARDLINKS=TRUE compiler variable.
Posted: Wed Aug 19, 2009 1:55 am
by ChrisN
Hi Michael.
I have done that already, but it has no effect. I've also tried compressed and web builds.
Best regards.
Posted: Mon Aug 31, 2009 4:18 am
by ChrisN
Hi again.
I've tried the patch build on a clean computer, now, restored with an image. But there are also the same problems. Everytime I build a patch the same unchanged files are also included to the patch. I've created a log file of the patch build. Here are the first lines of it. Maybe you can tell me if there's something wrong with my settings.
Input-PCP path = 'Z:\\Test\\Debug\\Patch\\test.pcp'
Patch-MSP path = 'Z:\\Test\\Debug\\Patch\\test.msp'
Temp Folder = 'Z:\\Test\\Debug\\Patch\\test.msp.tmp\\'
Patch GUID = '{ED334C4B-CC1C-400B-9DB0-6FABF24F7240}'
ListOfPatchGUIDsToReplace = '<none>'
ListOfTargetProductCodes = '*'
PatchSourceList = '<blank>'
AllowProductCodeMismatches = '1'
AllowProductVersionMajorMismatches = '1'
OptimizePatchSizeForLargeFiles = '0'
ApiPatchingSymbolFlags = '0x00000000'
MsiFileToUseToCreatePatchTables = '<blank>'
SqlCmdToCreatePatchTable = '<blank>'
SqlCmdToCreatePatchPackageTable = '<blank>'
SqlCmdToCreateMsiPatchHeadersTable = '<blank>'
DontRemoveTempFolderWhenFinished = '1'
IncludeWholeFilesOnly = '1'
MinimumRequiredMsiVersion = '200'
SEQUENCE_DATA_GENERATION_DISABLED = '<blank>'
AllowRemoval = '<blank>'
Using internal SQL cmd to create 'Patch' table.
Using internal SQL cmd to create 'PatchPackage' table.
Using internal SQL cmd to create 'MsiPatchHeaders' table.
Patch API could not create a small patch; using whole upgraded file.
Including entire file: 'Z:\\Test\\Debug\\Patch\\Upgraded Package\\data\\.\\.\\OFFLINE\\C3BE7210\\F9ED2FD1\\test.dat';
FTK=DFCadD7e17ctest.dat24PC3BE7210_1245; temp location=CD849207\\00002.FLE.
...
Best regards.
Posted: Tue Sep 01, 2009 10:14 am
by ChrisN
The unchanged files that are included in the patch are defined in an if Variable LANGUAGE Equals ... End clause.
I've created a sample project and it happened again as I added the if Variable LANGUAGE Equals ... End clause.
But in the sample project I solved the problem. I removed the web media block that was created for the project. So there's only the [OFFLINE CONTENT] block.
But this doesn't work in my project. Any other ideas why this happens?
Re: Trouble with patch builds.
Posted: Wed Dec 28, 2011 2:20 pm
by spicymikey
Did you ever solve this ChrisN? I have the same issue. I'm fairly new to IA for creating patches. My patches include everything even if I compare to web deploy projects that are exactly identical and created back to back.
Re: Trouble with patch builds.
Posted: Mon Jan 02, 2012 6:28 pm
by spicymikey
UPDATE: Got it all to finally work. Like you, played around with some of these IA switches and hit on a winning combo. Here's my solution found here. Hope it helps some folks because creating msp's is more like black magic from what I can see. Nothing like building MSI's
http://www.installaware.com/forum/viewt ... f=2&t=7975