I have a very simple assignment, and after one week, and yes I feel ashamed, I still have not found the solution... The task is very simple. The customer has to install/update two msi files. But, they are lazy, and want to do it with one click. I have come over tons of information about nested msi. Advice not to use that. I tried to use Installshield. It installed, but did not update nor removed correctly. I have thought about just calling two msi installs from a command script but there is not real easy way to let the second msi wait for the first msi install to finish. I am getting a little frustrated now, and depressed. Such a simple assignment and I am still pondering about the solution. Is there any simple solution? For your interest, even the order in which these installs are run, is not that important. It are quite independent things. The only requirement is that install, remove and update goes in one action.
Jan de Boer
posted 6 years ago
Okay, I made this goofy but efficient solution. There is an overwhelming chunk of information for this problem, and the packages like installshield are just bloated. This is simple and short and good enough I think. It's just a bit of vbscript.
set fso = CreateObject("Scripting.FileSystemObject")
currentDir = fso.GetAbsolutePathName(".")
set oFldr = fso.getfolder(currentDir)
for each ofile in oFldr.Files
if lcase(ofile.name) = "setup.ex_" then
ofile.name = "setup.exe"
if lcase(ofile.name) = "mymsi.ms_" then
ofile.name = "mymsi.msi"