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

LaunchAppAndWait doesn't wait...


7 replies to this topic

lavocat

lavocat
  • Full Members
  • 158 posts

Posted 24 November 2003 - 10:12

Under installation, I launch a quiet installation of Acrobat Reader.
For a reason that I am unaware of, LanchAppAndWait does not wait the end of the installation of Acrobat. Therefore, the installation turns at the same time as that of Acrobat, which causes the following problem: as the 2 processes of installation reach Cd at the same time, the reading is very slow and the Cd-rom seems "to suffer".

I there any solution?




Glytzhkof

Glytzhkof
  • Moderators
  • 1,447 posts

Posted 24 November 2003 - 10:26

Perhaps try the "Extended Version of LaunchAppAndWait" from this page:http://www.installsi.../en/isp_ext.htm
Regards
-Stein Åsmul

lavocat

lavocat
  • Full Members
  • 158 posts

Posted 25 November 2003 - 10:01

I tried it but it doesn't help.

Any other idea?

Stefan Krueger

Stefan Krueger

    InstallSite.org

  • Administrators
  • 13,269 posts

Posted 25 November 2003 - 10:06

Try and pass /SMS (case sensitive) to the Acrobat installer.

lavocat

lavocat
  • Full Members
  • 158 posts

Posted 03 December 2003 - 10:16

Yes it works fine now with "/SMS"!!!!

thanks a lot!

Equanox

Equanox
  • Members
  • 2 posts

Posted 23 June 2004 - 07:42

lavocat can u plz post the code snippet that u got workin for installing acrobat reader 6 with /SMS parameter

here is what i did

nResult = ChangeDirectory(INSTALLDIR ^ "Acro6");
sExe = "setup.exe";
sParameter = "/SMS";
LaunchAppAndWait(sExe,sParameter,WAIT);

setup of acro6 is launching fine but when the progress bar of installation starts i get an error 1500

I am executing this piece of code at the end of my installation in OnMoved() function and i'm using ISD 8.0 SP2.

any help would be appreciated.

thx in advance

warm regards,
equanox

lavocat

lavocat
  • Full Members
  • 158 posts

Posted 23 June 2004 - 08:04

I use this code : LaunchAppAndWait (link2AdobeReader," /vREBOOT=ReallySuppress /SMS",WAIT)...


When the Windows Installer performs a transaction, it creates a registry key called InProgress, which is located at HKEY_Local_Machine\Software\Microsoft\Windows\Installer\InProgress. When the transaction is done, it removes the key. Other installations check for this key before they begin. If the key exists, the installation does not start and produces Error 1500.

Possible Causes

Msiexec.exe has been launched via a custom action in the Execute sequence in an InstallShield installation. This causes more than one instance of Msiexec to be run at the same time. More than one instance of Msiexec cannot be run in the execute sequence.

In some cases, the InProgress key can be left behind if an installation is cancelled forcibly via the Task Manager during a transaction.

There is a mutex called _MsiExecute that prevents an installation from running. Sometimes other processes hold it. One such process is a MS Office service called the Office Web Server Notification Service (owstimer.exe) that sometimes holds onto the _MsiExecute object, causing installations to be locked out.

--------------------------------------------------------------------------------

Resolution
The custom action must be moved to the UI Sequence. Follow these steps to move the custom action.

Open the Sequences view.

Expand the Execute sequence of the appropriate sequencing folder. In most cases, this is the Installation sequencing folder.

Within the Execute sequence find the custom action, right-click it, and choose delete. If you are not sure which custom action to delete, open the Custom Actions view and analyze the setting for any custom actions that you have created. The Filename & Command line property for the custom action should be set to MsiExec.exe. Once you find this action, delete it from the Sequences view. Make sure NOT to delete the action from the Custom Actions view.

Open the User Interface sequence within the Installation folder.

Right-click the action you wish the custom action to come after and select Insert.

In the Insert Action dialog, choose custom action from the drop-down box list.

Select the custom action and choose OK.

To get rid of the InProgress key, first try rebooting. If this does not work, download the Windows Installer SDK. There is a tool that comes with it called MsiZap.exe. Run this EXE from the command prompt by typing 'msizap p' to remove the key.

To find out whether or not a process is holding _MsiExecute, obtain a tool that allows you to view handles and processes, such as Handle v2.01, and search for _MsiExecute, then take steps to stop that process. Handle v2.01 is a free tool available at http://www.sysintern...utilities.shtml. Information on how to use this utility is provided on the download site.
Note: If owstimer.exe is found in the Task Manager, set the service to start manually (it starts automatically by default) in the Service Control Manager, then reboot. On WinNT systems, the Service Control Manager is accessible via the Control panel. On Window 2000 systems, the Service Control Manager is accessible via the Administrative Tools section, which is accessible via the Control Panel.



Equanox

Equanox
  • Members
  • 2 posts

Posted 23 June 2004 - 10:12

thx mate...i got it resolved.

now i'm executing it OnFirstUIBefore with this code just b4 enabling STATUSEX and it happens silently without showing any Acrobat's UI in no time. Which is exactly what i wanted.

Detect acrobat reader's presence/absence from registry...if absent do a silent installation...here u go smile.gif

sExe = SystemFolder ^ "msiexec.exe";
sParameter = "/i " + SUPPORTDIR ^ "Adobe Reader 6.0.1.msi";
LongPathToQuote(sParameter);
sParameter = sParameter + "/qb";
LaunchAppAndWait(sExe,sParameter,WAIT);

that resolved the issue

thx a lot for replying

warm regards,
equanox

Edited by Equanox, 23 June 2004 - 10:17.