
CChong2 (Flexera) asked a question.
Newbie - self repair, how?
I'm currently evaluating InstallShield AdminStudio and trying to figure out how to use the self-repair feature for MSI installs. I've searched this site for any information but haven't found anything that helped me understand this.
Specifically, I have keys within HKCU and planning on using MSI to package applications that would be installed on XP workstations that would be used by multiple users. By using the self-repair it would ensure that the proper information is in the HKCU before starting the application. Or is there a better method to do this?
What I have learned so far is to make sure that the shortcut is setup as advertised and that the ALLUSER in the property table is set to 1.
Thanks,
Mike
Try this:
Add an exe to the project
make an advertised shortcut to it
build and run the installation
click on the shortcut, and the program should start
delete the exe, try the shortcut again, you will see Windows Installer do it's selfrepair and the program should start
The other thing you asked for was user registry (files in the userprofile are also possible to install this way too)
You are correct that you need to set the ALLUSER property equal to 1 and have an advertised shortcut.
The component with the HKCU entries must be in the same feature as the component with the exe.
looeee
However, I need to have a way of having the MSI launcher to also check to see if a specific registry key exists in the HKCU. This is needed when a second user on a XP workstation signs on and attempts to launch an application that was installed by the first user.
I looked at the key file or path but you can only have one or the other and not both. (Was thinking if I could use one of the keys in the HKCU and it wasn't found then it would kick off a self-repair).
Mike
When the shortcut is activated, the installer verifies that all the components in the feature are installed before launching the file.
If I delete the executable, it works. If I delete the registry key in HKCU, it runs without doing a repair. I must be missing something else...
Thanks...
Mike