1
1

Currently my installer's final page offers a check box labelled 'Launch Software' and when you check it and click 'Finish' the installer starts the software as a child process and closes it's graphical windows but still continues to run.

Is there a way to make the installer launch the installed software as a standalone process after clicking the final page's 'Finish' button, so that the installer itself exits and stops existing as a process, but the installed software continues to run ?

asked 16 Apr '13, 04:01

Neo%20Cortex's gravatar image

Neo Cortex
141242630
accept rate: 0%


On Windows, I'm appending an ampersand to the launch parameters; on Mac OS X , I'm using the open command (see x-man-page://open):

<finalPageActionList>
    <runProgram> <!-- On Windows, use ampersand for asynchronous launch -->
        <program>path\to\software.exe</program>
        <programArguments>&amp;</programArguments>
        <progressText>${msg(LaunchSoftware.Checkbox.Name)}</progressText>
        (...)
        <ruleList>
            <platformTest type="windows" />
        </ruleList>
    </runProgram>

    <runProgram> <!-- On Mac OS X, use 'open' command for asynchronous launch -->
        <program>open</program>
        <programArguments>path/to/software.app</programArguments>
        <progressText>${msg(LaunchSoftware.Checkbox.Name)}</progressText>
        (...)
        <ruleList>
            <platformTest type="osx" />
        </ruleList>
    </runProgram>
</finalPageActionList>

Also, please have a look here: http://installbuilder.bitrock.com/docs/installbuilder-userguide.html#_launching_in_the_background

link

answered 16 Apr '13, 04:20

Dirk%20Stegemann's gravatar image

Dirk Stegemann
681283244
accept rate: 31%

Adding the ampersand as an argument in the end does not fix this on MacOSX

(26 Apr '13, 04:24) Neo Cortex

The proposed approach (appending an ampersand) works for Windows. On Mac OS X, I'm using the 'open' command.

I updated the description in the answer.

Hope that helps!

(26 Apr '13, 06:25) Dirk Stegemann

I did the following for MacOSX:

<finalPageActionList>
    (...)
    <setInstallerVariableFromRegEx run="1" show="0" >
        <name>escaped_installdir</name>
        <pattern> </pattern>
        <substitution>\\ </substitution>
        <text>${installdir}</text>
    </setInstallerVariableFromRegEx>

    <runProgram>
        <program>open</program>
        <programArguments> ${escaped_installdir}</programArguments>
        <progressText>some message</progressText>
        <runAs>${env(USER)}</runAs>
        <useMSDOSPath>0</useMSDOSPath>
        <workingDirectory>${installdir}/</workingDirectory>
    </runProgram>
</finalPageActionList>

And respectively for Linux:

<finalPageActionList>
        <runProgram>
            <program>${installdir}/programname</program>
            <programArguments> &gt; /dev/null 2> /dev/null &lt; /dev/null &amp; disown </programArguments>
            <progressText>some message</progressText>
            <runAs>${env(SUDO_USER)}</runAs>
            <useMSDOSPath>0</useMSDOSPath>
            <workingDirectory>${installdir}/</workingDirectory>
        </runProgram>
    </finalPageActionList>

Those did the trick.

link

answered 26 Apr '13, 11:26

Neo%20Cortex's gravatar image

Neo Cortex
141242630
accept rate: 0%

Your answer
toggle preview

Follow this question

By Email:

Once you sign in you will be able to subscribe for any updates here

By RSS:

Answers

Answers and Comments

Markdown Basics

  • *italic* or _italic_
  • **bold** or __bold__
  • link:[text](http://url.com/ "title")
  • image?![alt text](/path/img.jpg "title")
  • numbered list: 1. Foo 2. Bar
  • to add a line break simply add two spaces to where you would like the new line to be.
  • basic HTML tags are also supported

Tags:

×156
×25
×13
×10
×7
×5
×4

Asked: 16 Apr '13, 04:01

Seen: 4,908 times

Last updated: 26 Apr '13, 11:26