Few newbie questions
I'm currently doing a training at my job with few exercises and I'm stuck at one of them on the topic of Advertised Shortcuts. The exercise is about:
- deploy 2 files in AppData\Roaming & AppData\Local
- add provided .reg file to registry and use a separate component to store it
- deploy blabla.exe + the mentioned .reg file in Program Files (x86) in separate components each
The idea is that when I build and install the MSI (through SYSTEM account), I should have no user files and registry deployed for my user. Then I should start the Advertised shortcut and it will install the user parts. Then it should be able to self-heal when I delete one of the key paths and launch the exe again. This behavior should happen in all users' profiles.
There are 2 points in there in which I can't understand what is expected from me to do. Tried searching answers on the net without success so that's why I'm here. They are:
1. Don’t forget to put a dummy registry key path for all components that are located in the user’s profile.
- Is there a proper tutorial/example how is this being done? I get the idea but I'm struggling to make it myself so an example would be great.
- Components that are located in the user's profile are the ones that deploy to AppData\Roaming & AppData\Local , right?
- What about the other components? Why not setting key path for them?
2. Create an Advertised Shortcut to blabla.exe. Put it on the desktop. Make sure ALLUSERS=1 property is set.
- Yes, I have to install it through the SYSTEM account and I get the idea but how do I set this property? Everybody everywhere is explaining what properties are and listing all of them but I still couldn't understand HOW do I set a MSI property through InstallShield?
I'm provided with InstallShield 2014.
I hope I'm clear enough. If not then please let me know.
I must say that I'm amazed of how little information on application packaging/InstallShield one can find on the Internet. Few videos here and there and nothing comprehensive. I've been studying web development before and the difference in how much info you can find about it compared to info about InstallShield/MSI Packaging is from here to the Moon. Maybe I'm Googling the wrong words, dunno.
Thank you for your post.
Please accept our apologies for the delayed response.
InstallShield 2014 has reached its end-of-life, so InstallShield 2014 is no longer supported. Could you please upgrade to a supported InstallShield version and open a support ticket to track this issue so that we can proceed? This will allow us to best track this issue in order to best assist you.
InstallShield End-of-Life Policy documentation link with information about end-of-life versions and supported versions of InstallShield:
Please let us know if you have any questions or concerns. Thank you for your patience and cooperation.
InstallShield 2014 might have reached its end-of-life but what I was asking about is absolutely the same in IS 2018. Maybe pay close attention to the question before directly offering me to upgrade?
To the newbies out there who might be having similar issues:
1. If a component has only user files (yes, these are files that go to AppData\Roaming & AppData\Local + others in C:\Users) a dummy registry in HKCU (e.g. “HKCU\Software\DXC\InstalledSoftware\FlashPlayer” with value Installed) must be created in this component and set as a key path.
2. You can set the ALLUSERS property in the Property Manager in InstalShield or when you install the MSI in cmd with ALLUSERS=1. Its default in InstallShield is anyway 1 so in my case I didn't have to set anything.
What I didn't know is that for the MSI to be installed under SYSTEM account I should do it through PSExec (open cmd then enter psexec /si cmd). This opens another window where you can install stuff under SYSTEM account)
The other option to do that is in Task Manager but that's not very convenient.
I'm still a beginner and I wanna say that there's way too little info on the application packaging topic and Flexera must definitely put some effort and make some comprehensive tutorials on the topic. If it wasn't for the internal trainings in the company I work for, I wasn't gonna be able to grasp it.