After having upgraded from InstallAware Studio NX to version 18.04 I made a new "CD or DVD" setup of version 6.53.1 of my migrated NX project.
The setup works fine. I only had to fix an issue because of the change to unicode.
Then I made a patch with my old references (versions 6.50, 6.51 and 6.52) and a new reference to my setup 6.53, which had been build with IA NX.
During the patch there is an error in German, which should be in English: ... cannot install file ... missing in cabinet file "PCW_CAB_857D29EA" ...
At last I made the patch wtih the old InstallAware NX and the patch ran without error.
Any idea?
While analysing the error I also noticed a behaviour I would like to clarify.
If I add a patch reference to \Uncompressed\mysetup.exe, mysetup.msi in the subfolder \data\ will be attached by IA.
If I add a patch reference to \Uncompressed\mysetup.msi, exactly that file will be attached by IA.
What is the difference? Should I always add a reference to the exe or to the msi?
Thanks,
Bernd
Patching error after IA 18 upgrade - missing file in cabinet
-
- Site Admin
- Posts: 5361
- Joined: Sun Aug 22, 2010 4:28 am
Re: Patching error after IA 18 upgrade - missing file in cab
Dear Bernd,
I may suggest you as first, to produce a new full build (not a Patch) using IA 18 and then to start a totally new patch sequence from this build.
The MSI database generated by IA 18 is UNICODE, where the one generated by IA NX is ANSI ... and very probably this makes problematic to generate a correct MSI patch database and sequence.
An MSI file is required as patch reference, but if you select an EXE, IA automatically extracts the MSI from that file.
SO ... you can select an MSI or an EXE ... it is up to you.
Regards
I may suggest you as first, to produce a new full build (not a Patch) using IA 18 and then to start a totally new patch sequence from this build.
The MSI database generated by IA 18 is UNICODE, where the one generated by IA NX is ANSI ... and very probably this makes problematic to generate a correct MSI patch database and sequence.
Should I always add a reference to the exe or to the msi?
An MSI file is required as patch reference, but if you select an EXE, IA automatically extracts the MSI from that file.
SO ... you can select an MSI or an EXE ... it is up to you.
Regards
Francesco Toscano
InstallAware Software
White Papers (HowTos) - http://www.installaware.com/publication ... papers.htm
Publications - http://www.installaware.com/publications-review.htm
InstallAware Help -F1 anywhere in the InstallAware IDE
InstallAware Software
White Papers (HowTos) - http://www.installaware.com/publication ... papers.htm
Publications - http://www.installaware.com/publications-review.htm
InstallAware Help -F1 anywhere in the InstallAware IDE
Re: Patching error after IA 18 upgrade - missing file in cab
Dear Francesco,
thanks for quick answering.
I did the test you recommended.
I made a new build with a new version of my product with IA 18.
I removed all old patch references pointing to IA NX setups.
I added a patch reference to a IA 18 setup.
At the end I made a new patch that indeed worked without error.
But I do believe, that it sould be dealt as an IA bug, because of three reasons.
a) The workaround described here http://www.installaware.com/forums/viewtopic.php?f=2&t=7975 works for me too. Thank you spicymikey!
It took a little bit time to find out, that you find these IA Compiler Variables in the project settings and not in the MSI code.
We always use the project option "Always Cache Setup Sources" in the Build node of the project settings. This setting is synced with the Compiler Variable CACHESOURCES.
The solution is to add LONGCOMPONENTS = TRUE and NOHARDLINKS = TRUE
b) I made another patch of a different product with references to NX setups and without any other changes. And that patch did work without error.
c) After a look into the msp.log file, I realised that IA put all files into the patch.
There are many messages of the type WARNING (11): File.FileName mismatch... and WARNING (12): SubFolder mismatch between...orphaned... for nearly all of the files.
The "old files may be orphaned" warning reminded me of an error, we experienced a long time ago when we used InstallShield.
At that time the patchwiz.dll in the working folder of InstallShield had to be replaced by an updated file. I did the same now.
Afterwards there were no warnings in the msp.log file. And the error during the patch did not occur. But other errors occured, that could be ignored.
Regards
PS: Is there a way to keep the msp.log file. Normally it will be automatically deleted after the build process.
thanks for quick answering.
I did the test you recommended.
I made a new build with a new version of my product with IA 18.
I removed all old patch references pointing to IA NX setups.
I added a patch reference to a IA 18 setup.
At the end I made a new patch that indeed worked without error.
But I do believe, that it sould be dealt as an IA bug, because of three reasons.
a) The workaround described here http://www.installaware.com/forums/viewtopic.php?f=2&t=7975 works for me too. Thank you spicymikey!
It took a little bit time to find out, that you find these IA Compiler Variables in the project settings and not in the MSI code.
We always use the project option "Always Cache Setup Sources" in the Build node of the project settings. This setting is synced with the Compiler Variable CACHESOURCES.
The solution is to add LONGCOMPONENTS = TRUE and NOHARDLINKS = TRUE
b) I made another patch of a different product with references to NX setups and without any other changes. And that patch did work without error.
c) After a look into the msp.log file, I realised that IA put all files into the patch.
There are many messages of the type WARNING (11): File.FileName mismatch... and WARNING (12): SubFolder mismatch between...orphaned... for nearly all of the files.
The "old files may be orphaned" warning reminded me of an error, we experienced a long time ago when we used InstallShield.
At that time the patchwiz.dll in the working folder of InstallShield had to be replaced by an updated file. I did the same now.
Afterwards there were no warnings in the msp.log file. And the error during the patch did not occur. But other errors occured, that could be ignored.
Regards
PS: Is there a way to keep the msp.log file. Normally it will be automatically deleted after the build process.
Who is online
Users browsing this forum: Baidu [Spider] and 93 guests