Jump to content


This is a ready-only archive of the InstallSite Forum. You cannot post any new content here. / Dies ist ein Archiv des InstallSite Forums. Hier können keine neuen Beiträge veröffentlicht werden.
Photo

Change option simply complets installation.


2 replies to this topic

kbsagar

kbsagar
  • Full Members
  • 1 posts

Posted 06 August 2014 - 08:55

Hi,

 

I am using installShield 11.5 and created basic MSI project. I faced some issue installing the .MSI into the win 7 machine. I set the 'Single Executable' option and created the setup.exe. This resolved my installation problem with win 7.

 

I have 2 application in one installer. I am not able to do partial installation. like I have installed the first application and later I want to install the second one. I am just wondering is this possible with basic MSI. Please let me know the procedure if it can be done. when I select 'change' option from control panel (right client on the installed program feature)it finishes immediately without prompting anything.

 

Please help.

 

thanks,

Krishna Sagar


Edited by kbsagar, 06 August 2014 - 10:12.


julienpec

julienpec
  • Full Members
  • 36 posts

Posted 22 August 2014 - 13:52

1 application = 1 Feature.

 

When you'll have created your 2 features, check the UI dialogs to see how you can manage their installation.

 

That's what i would do ;)



deramor

deramor
  • Full Members
  • 187 posts

Posted 28 August 2014 - 23:11

Before I answer I want to state an assumption I am making about your needs.  If this assumption is incorrect then what I say should be ignored.

 

I assume when you say, "I have installed the first application and later I want to install the second one", that you mean you have 2 MSIs that you want to install one after the other.

 

In this case you should understand that when an MSI install runs, it grabs a mutex on the system that alerts all other installers that someone is currently installing stuff.  This means that only one installer can run at any given time.  Your next comment might be "But the first installer is completed".  You would be right however Complete does not mean the mutex was released.

 

In general, there are 2 main sequence of events going on during a normal install.  A UI sequence and an Execute sequence.  During the Execute sequence, the mutex is taken and eventually given up.  The last action that happens in an installshield pure MSI is ISSetupFilesCleanup.  This comes after you click on the finish button.  So you see, even though app 1 is installed and "completed", the mutex is still held and you can not launch a second installer.

 

The best way to do this is to create a Suite Project.  However they are new as of IS2013.  Assuming you can not upgrade, you could also do this sequencing during the UI sequence.  There are some limitations however and this method is not exactly best practice but requirements are requirements.

1. users can not install your product silently.  Using /qn flags to install will cause your sequenced installer to not be installed (UI sequence was skipped).  The best automated install is a reduced UI (/qr) in this case.

2. You can not roll back changes if something goes wrong.

3. You must launch your installer with admin rights if the second installer needs elevation.

4. Uninstalls are tricky.  If App1 also wants to remove App2, this will need to happen in the UI sequence again.  However uninstalls do not elevate until the Execute sequence.  If you need to uninstall with elevated rights, you will need to author some sort of custom C dll that requests an access token before launching your App2 uninstaller.  You would get 2 UAC prompts however.  One for the App2 custom action and the second for App1 you are removing through add/remove programs.

 

You can see what actions are involved with each sequence through the Installshield UI.  They are under Behavior and Logic -> Custom Actions and Sequences