This website uses cookies. By clicking Accept, you consent to the use of cookies. Click Here to learn more about how we use cookies.
Turn on suggestions
Auto-suggest helps you quickly narrow down your search results by suggesting possible matches as you type.
- Revenera Community
- :
- InstallShield
- :
- InstallShield Forum
- :
- Re: Installing 2.0 Framework silently from a silent install.
Subscribe
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Subscribe
- Mute
- Printer Friendly Page
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
Jun 28, 2007
11:34 AM
Installing 2.0 Framework silently from a silent install.
I’ve run into a problem installing the 2.0 .NET Framework that has stumped me.
I’ve got a basic .msi project and I’m trying to avoid both the built-in 2.0 framework install that can be specified in the Release pane, and using a setup prerequisite.
So… I decided to create an InstallScript custom action that does a LaunchAppAndWait on dotnetfx.exe and passes the dot net installer the “install silently” arguments.
LaunchAppAndWait(SRCDIR ^ "dotnetfx.exe”, "/q:a /c:\"install /l /q\"", LAAW_OPTION_WAIT);
This custom action does successfully installs the 2.0 framework when launched normally, however when I run my setup in silent mode like this:
setup.exe /S /V”/qn” or setup.msi /qn – I can watch the 2.0 framework install start up in the task manager, but then it immediately exits. I’m logging the install and in the failure situation, there’s an MSI.LOG file produced – but I’ve been unable to locate any helpful information on the error.
MSI*.LOG
Error 2728.Table definition error: Component
=== Logging stopped: 6/28/2007 9:43:34 ===
In the dotnetfx log – there’s a couple lines that are missing from the log where the install fails:
dd_netfx*.txt (these lines show up in a successful log)
[06/28/07,09:27:24] (mscorwks.dll, mscorwks.dll) C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\TBD1314.tmp ( 2.0.50727.42 (RTM.050727-4200) ) ( Fri Sep 23 07:28:50 2005 ) Delete
[06/28/07,09:27:24] (mscoree.dll, mscoree.dll) C:\WINDOWS\system32\TBD1315.tmp ( 2.0.50727.42 (RTM.050727-4200) ) ( Fri Sep 23 07:28:52 2005 ) Delete
There’s also this difference in the dot_netfx log. When there’s a failure
Process returning code 1618
Vs. successful.
Process returning code 3010
The 1618 error code made me think I was running into the problem where one .msi installer can’t launch another, but running my setup non-silently installs the framework successfully – which has me confused. This is probably my fundamental misunderstanding of how Windows Installer works. 🙂 Any ideas/explanations you can provide would be much appreciated.
I’ve got a basic .msi project and I’m trying to avoid both the built-in 2.0 framework install that can be specified in the Release pane, and using a setup prerequisite.
So… I decided to create an InstallScript custom action that does a LaunchAppAndWait on dotnetfx.exe and passes the dot net installer the “install silently” arguments.
LaunchAppAndWait(SRCDIR ^ "dotnetfx.exe”, "/q:a /c:\"install /l /q\"", LAAW_OPTION_WAIT);
This custom action does successfully installs the 2.0 framework when launched normally, however when I run my setup in silent mode like this:
setup.exe /S /V”/qn” or setup.msi /qn – I can watch the 2.0 framework install start up in the task manager, but then it immediately exits. I’m logging the install and in the failure situation, there’s an MSI.LOG file produced – but I’ve been unable to locate any helpful information on the error.
MSI*.LOG
Error 2728.Table definition error: Component
=== Logging stopped: 6/28/2007 9:43:34 ===
In the dotnetfx log – there’s a couple lines that are missing from the log where the install fails:
dd_netfx*.txt (these lines show up in a successful log)
[06/28/07,09:27:24] (mscorwks.dll, mscorwks.dll) C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\TBD1314.tmp ( 2.0.50727.42 (RTM.050727-4200) ) ( Fri Sep 23 07:28:50 2005 ) Delete
[06/28/07,09:27:24] (mscoree.dll, mscoree.dll) C:\WINDOWS\system32\TBD1315.tmp ( 2.0.50727.42 (RTM.050727-4200) ) ( Fri Sep 23 07:28:52 2005 ) Delete
There’s also this difference in the dot_netfx log. When there’s a failure
Process returning code 1618
Vs. successful.
Process returning code 3010
The 1618 error code made me think I was running into the problem where one .msi installer can’t launch another, but running my setup non-silently installs the framework successfully – which has me confused. This is probably my fundamental misunderstanding of how Windows Installer works. 🙂 Any ideas/explanations you can provide would be much appreciated.
(3) Replies
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
Jun 29, 2007
05:42 AM
I’m not familiar with install script, but is the custom action set to run in either the UI or Execute sequence?
If it is, the silent one will attempt to run the .Net install in the execute sequence and I would expect that to fail as you cant run 2 install execute sequences at the same time. It is possible to run a second installs UI and Execute sequences from within a UI sequence using a CA, so if your non silent install runs its CA in the UI sequence that’s why that one works. This is one of the reason that some form of bootstrapper is often used as it can be made to work in both silent and ui modes. Ive done this sort of thing using a custom setup prereq.
EDIT:
Oh btw error code 1618 is:
ERROR_INSTALL_ALREADY_
RUNNING 1618 Another installation is already in
progress. Complete that installation
before proceeding with this install.
http://support.microsoft.com/kb/229683
If it is, the silent one will attempt to run the .Net install in the execute sequence and I would expect that to fail as you cant run 2 install execute sequences at the same time. It is possible to run a second installs UI and Execute sequences from within a UI sequence using a CA, so if your non silent install runs its CA in the UI sequence that’s why that one works. This is one of the reason that some form of bootstrapper is often used as it can be made to work in both silent and ui modes. Ive done this sort of thing using a custom setup prereq.
EDIT:
Oh btw error code 1618 is:
ERROR_INSTALL_ALREADY_
RUNNING 1618 Another installation is already in
progress. Complete that installation
before proceeding with this install.
http://support.microsoft.com/kb/229683
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
Jun 29, 2007
07:03 AM
Thank you - That must be it. I've got the CA in both the Execute and UI sections. Thank you for teaching me something new today. While I've seen things regarding bootstrappers, I hadn't researched the topic and was unaware that two installs in the Execute sequence was the crux of that need.
I'll probably have to come up with a different solution then - or go the setup prereq route. Thanks again for your response!
Jason
I'll probably have to come up with a different solution then - or go the setup prereq route. Thanks again for your response!
Jason
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
Nov 04, 2009
01:31 PM
but using Basic MSI setup type, callting dotnetfx.exe from a "call and executable" (type 290) CA and getting 1721.
I've sequenced the ca in the UI sequence, because I can't launch another installation within the execute sequence. it's scheduled to run right after the dialogs (under certain conditions).
I'm doing it this way because the .NET Fx is only necessary in some cases, so we cannot require it. if there is another way to conditionally install the .NET Fx, let me know. otherwise, here are the details:
I've sequenced the ca in the UI sequence, because I can't launch another installation within the execute sequence. it's scheduled to run right after the dialogs (under certain conditions).
I'm doing it this way because the .NET Fx is only necessary in some cases, so we cannot require it. if there is another way to conditionally install the .NET Fx, let me know. otherwise, here are the details:
MSI (c) (3C:8C) [13:24:02:484]: Note: 1: 1721 2: InstDotNet 3: C:\DOCUME~1\mark\LOCALS~1\Temp\{}\ 4: dotnetfx.exe
Working directory: SUPPORTDIR
Filename and command line: dotnetfx.exe
synchronous(check)
immediate
sequenced immediately following the dialogs within the UI seq.
Working directory: SUPPORTDIR
Filename and command line: dotnetfx.exe
synchronous(check)
immediate
sequenced immediately following the dialogs within the UI seq.
