Multiple Exe

Oct 16, 2009 at 3:02 PM

I am looking for a way to install mutliple exe files before I install my custom application. For example, I need to install oracle using their installer before my application is installed. I would like to do this in one exe. When I set this up in dotnetinstaller, I put the Oracle EXE above myApp.msi. However, when I go to run the built setup from dotnetinstaller, Both applications try to install at the same time. The Oracle install starts first but myApp.msi starts a couple of seconds later, way before oracle finishes installing. Is there a way to tell dotnetinstaller to wait until one msi is done before executing the other msi?

Coordinator
Oct 16, 2009 at 3:37 PM

This (waiting) is the default behavior, but the shell is detaching the child windows applications. I think the way to fix it is not to run your oraclesetup.exe, but to run "cmd.exe /C oraclesetup.exe" - this makes the parent process a console one, and /C says to wait for the executable to finish. Unless there's something really weird in the Oracle setup.exe (I've seen processes re-launch a copy themselves and terminate), it will do the trick.

Let us know.

Oct 16, 2009 at 8:39 PM
That sounds like it will work however I am having trouble translating that into dotnetinsterller terms. I added a Command Component to the Install Node with the command property set to "cmd.exe /C #APPPATH\OracleXE.exe" (including "")
When I do this, with or without the #APPPATH Variable I get a Failed to Install Error. I am sure I have something wrong with my command property but I have tried a couple of variations with no success. Any Suggestions?

dblock wrote:

From: dblock

This (waiting) is the default behavior, but the shell is detaching the child windows applications. I think the way to fix it is not to run your oraclesetup.exe, but to run "cmd.exe /C oraclesetup.exe" - this makes the parent process a console one, and /C says to wait for the executable to finish. Unless there's something really weird in the Oracle setup.exe (I've seen processes re-launch a copy themselves and terminate), it will do the trick.

Let us know.

Coordinator
Oct 16, 2009 at 9:43 PM

First, try to do this without dotNetInstaller. Can you run "cmd.exe /C ..."? Does that popup the oracle installer?

I think the quoting is wrong. Remove external quotes and quote the actual command you're executing after /C ("#APPATH\..."). Then, run the installer with /log /logfile install.log and look in the log at what is actually being executed. That should give you some hints on why it doesn't work.

Oct 21, 2009 at 6:47 PM
This seems to work. Thank you for the help.

dblock wrote:

From: dblock

First, try to do this without dotNetInstaller. Can you run "cmd.exe /C ..."? Does that popup the oracle installer?

I think the quoting is wrong. Remove external quotes and quote the actual command you're executing after /C ("#APPATH\..."). Then, run the installer with /log /logfile install.log and look in the log at what is actually being executed. That should give you some hints on why it doesn't work.