Replacing a file in a .msi package
Hello.
Can anybody tell me if it is possible (and how) to replace one file in an already created .msi package with some tool without InstallShield or Wise - let's say using some command line tool:
I have a package called InstallMe.msi and inside is a file file1.exe. I have a new version of this file (file1.exe) and I want to replace the old file with this new version - just binary replacement. If I open InstallMe.msi with Orca or IS I cannot do a replacement.
Thanks in advance
Andreo
Can anybody tell me if it is possible (and how) to replace one file in an already created .msi package with some tool without InstallShield or Wise - let's say using some command line tool:
I have a package called InstallMe.msi and inside is a file file1.exe. I have a new version of this file (file1.exe) and I want to replace the old file with this new version - just binary replacement. If I open InstallMe.msi with Orca or IS I cannot do a replacement.
Thanks in advance
Andreo
0 Comments
[ + ] Show comments
Answers (8)
Please log in to answer
Posted by:
nheim
16 years ago
Posted by:
Coriolus
16 years ago
Posted by:
nheim
16 years ago
Posted by:
James
16 years ago
This is possible using the Installer Design Studio tool by script logic. After opening the MSI with IDS select the 'IQ Views' tab and select the 'Files' option under the Files And Registry menu on the left hand side. In the lower half of the screen under project view simply browse through the files in the msi and delete the file you wish to remove. Then whilst still navigating through project view select the folder where you wish to put the new file. Now in the top half of the screen browse for the file or folder you wish to add and simply right click it and choose 'Add File'. This will add the new file to the msi and it will be copied to the location you selected in project view. Now save and exit and you msi will contain the new file :)
EDIT: I do not know of a command line tool to do what you are asking.
EDIT: I do not know of a command line tool to do what you are asking.
Posted by:
nheim
16 years ago
Posted by:
jamsek19
16 years ago
Hello all.
Thanks for replays.
This is not as I want.
Usually I have a build process which makes a .msi package after c++ build. At the moment I have a customer, which wants to update just some files (after resolved bugs [;)]). Patch is not an option, I need just one file. Also new version of .msi package is not an option.
So, I thing that it can be nice if I can replace just those updated binaries in an already created .msi package - all GUID codes will remain the same, version also, etc. and a customer can run a repair to install updates.
Is this possible?
Thanks.
Thanks for replays.
This is not as I want.
Usually I have a build process which makes a .msi package after c++ build. At the moment I have a customer, which wants to update just some files (after resolved bugs [;)]). Patch is not an option, I need just one file. Also new version of .msi package is not an option.
So, I thing that it can be nice if I can replace just those updated binaries in an already created .msi package - all GUID codes will remain the same, version also, etc. and a customer can run a repair to install updates.
Is this possible?
Thanks.
Posted by:
nheim
16 years ago
Hi Andreo,
my suggestion does exactly what you want.
You can even automate it with a few lines of batch.
The scenario on the link i gave above is about applying a service pack.
You just have to omit the SP applying task and copy your new file to the right folder.
All the other steps are the same.
Regards, Nick
my suggestion does exactly what you want.
You can even automate it with a few lines of batch.
The scenario on the link i gave above is about applying a service pack.
You just have to omit the SP applying task and copy your new file to the right folder.
All the other steps are the same.
Regards, Nick
Posted by:
deploy.no
16 years ago
Nick, patient as always :-) I'm impressed, where do you get all that energy?
Sorry to chime in late but maybe my suggestion from this thread would be useful? Nick seems to prefer keeping replacement files as cabs or binaries inside the transfrom to maintain everything in once place - while I tend to keep them separate as "baggage files" in the msi sourcedir. Either way works but sometimes it seems people understand this better if they get away by using JUST Orca and not also some "weird sdk commands" hehe.
Sorry to chime in late but maybe my suggestion from this thread would be useful? Nick seems to prefer keeping replacement files as cabs or binaries inside the transfrom to maintain everything in once place - while I tend to keep them separate as "baggage files" in the msi sourcedir. Either way works but sometimes it seems people understand this better if they get away by using JUST Orca and not also some "weird sdk commands" hehe.
Rating comments in this legacy AppDeploy message board thread won't reorder them,
so that the conversation will remain readable.
so that the conversation will remain readable.