Hi all,

We have an application installed on a number of computers, it was originally installed via an installshield legacy setup. If an admin is required to perform a repair/reinstall of the product it's trying to access setup.ini from the original source location (which is a network location that no longer exists).

i looked in c:\program files\installshield installation information. in the directory for the product i've run strings from sysinternals over setup.ilg and identified the source locations are specified within this binary file.

So I was hoping someone could suggest where I go from here? is there anyway to modify that file, or is the source location specified in the registry somewhere?

0 Comments   [ - ] Hide Comments


Please log in to comment

Rating comments in this legacy AppDeploy message board thread won't reorder them,
so that the conversation will remain readable.
Answer this question or Comment on this question for clarity


I'd say that the effort required to find out how that file is formatted, hw to edit and so on would be far, far greater than that required to build an MSI for it, then uninstall the "old" version and finally "reinstall" using the MSI.
Answered 11/07/2011 by: VBScab
Red Belt

Please log in to comment
im not sure how good your msi knowledge is, i will keep my keep my explanation short, just ask if you need further assistance.
on the first glimpse its pretty complicated, but you can learn a lot about MSIs here :)

first some background information:

* since you have source management i guess the legacy setup contained a MSI.

* all MSIs are cached in c:\windows\installer
the cache contains everything except the files.

* "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Installer\UserData\[UserSID]\ProductCodes\[PackageCode]\InstallProperties"
contains all the Metadata of the MSI, including which file in the cache belongs to.

* where the installer starts to search the files is configured in the regkey "HKEY_CLASSES_ROOT\Installer\Products\[CompactProductCode]\SourceList\Net\[Counter]"
the counter is usually 1.

* the file table of the MSI contains info where the source file is in the source folder (e.g. compressed, uncompressed, subfolder etc).

putting all that together you might already figured out how to solve your problem.
you need to edit the sourcelist or recreate the folder where the MSI came from containing at least the setup.ini.

SO.... first search the MSI in the cache, you can do that by searching for the name of the product in the regkey that describes the metadata (it contains a name called "LocalPackage"). it should contain a path like C:\windows\Installer\476c4.msi.

open that msi with the msi editor of your choice. read the source path for the setup.ini (e.g. by looking in the file table with instedit) and remember it or write it down.
(an alternative way would be to read the path out of the repair log, tell me when you need to know how to do that)

then go to the key that describes the source path (HKCR\Installer....) as described above. (search function might help)
check where the MSI was installed from, remember that folder or change the key to a folder where you can put the setup.ini.

create a structure the MSI expects in that folder.

repair the application.

good luck and post some feedback!
Answered 11/08/2011 by: weberik
Yellow Belt

Please log in to comment
All well and good but you have described the scenario for an MSI-based installation whereas the OP states that this is a legacy-installed app.
Answered 11/08/2011 by: VBScab
Red Belt

Please log in to comment
i know he said that, but by the behavior of the problem i just guessed that he had a msi wrapped in a setup.exe
Answered 11/08/2011 by: weberik
Yellow Belt

Please log in to comment