0

Using InstallShield I have created a Basic MSI setup that its files are uncompressed
Now I would like to replace one of the text files in the setup without rebuilding the MSI again.
Can it be done without any worry when running install, uninstall etc. ?
Is there some kind of size \ CKSUM check that compare data in msi with the actual file ?

Or it will be more reliable to edit the MSI with ORCA and remove this file from the file table ?

Thanks

Epligam
  • 741
  • 2
  • 14
  • 36

1 Answers1

1

You should be able to do this by making use of a tool named MsiFiler. Replace the file in your extracted image and then run MsiFiler as outlined in :

https://msdn.microsoft.com/en-us/library/aa370108(v=vs.85).aspx

Another way would be to make use of a tool like msi2xml and xml2msi to rebuild your msi package. There are a lot of examples here:

How to replace a file in a msi installer?

Hope this helps

Community
  • 1
  • 1
Kiran Hegde
  • 680
  • 4
  • 14
  • But what if the files are uncompressed ? is it safe to replace the file ? Does InstallShield \ MSI somehow save the files size\date\checksum and compare the info with the files being installed ? – Epligam Sep 14 '16 at 16:05
  • @Epligam: It should be fine. You should be able to update the attributes of the file in the File table as well as the MsiFileHash table using a tool from the windows installer SDK named : MsiFiler.exe. Does this explain your question? – Kiran Hegde Sep 26 '16 at 12:09
  • Back to this old issue, do I need to use this tool if I just want to replace a file in a setup which is already uncompressed ? it's a file that don't have a version like .pdf and .txt. – Epligam Nov 01 '20 at 14:07
  • @Epligam Yes, you need to because for unversioned files, the hash is saved in the MsiFileHash table. – Kiran Hegde Nov 02 '20 at 15:15