Command line build omits .NET Framework
Command line build omits .NET Framework
I’m getting bad install output when compiling from the command line during an automated build.
The build machine specs are:
Pentium D 2.8 GHz
1 GB RAM
Windows Server 2003 Enterprise SP1
The app being installed needs the .NET Framework 1.1 SP1. The install runs the “checknet11sp1” and displays a dialog prompting the user to install if not found.
When this install is built (web executable) on the build machine using the InstallAware IDE the output works as expected. The single EXE file is just over 17 MB in size. This install will run on test machines as expected without error.
When the install is built from the command line during an automated build the compile completes, but the output EXE is too small (only 4 MB). When running the install on a machine without .NET, the dialog prompting the user to install .NET 1.1 SP1 is never shown. An error is generated later when the first Install Assembly command is run.
The results are the same when running the command in a full automated build or solo in a DOS batch file. The command line used looks something like this:
"C:\\Program Files\\InstallAware 6\\miabuild.exe" "[Path]\\[ProjectName] Install.mpr" /b=2 /r CodeRoot="D:\\Builds\\Build Code\" VersionMajor=1 VersionMinor=0 VersionRevision=0 VersionBuild=9999
[Path] is a fully qualified path to the MPR file.
Thanks in advance.
The build machine specs are:
Pentium D 2.8 GHz
1 GB RAM
Windows Server 2003 Enterprise SP1
The app being installed needs the .NET Framework 1.1 SP1. The install runs the “checknet11sp1” and displays a dialog prompting the user to install if not found.
When this install is built (web executable) on the build machine using the InstallAware IDE the output works as expected. The single EXE file is just over 17 MB in size. This install will run on test machines as expected without error.
When the install is built from the command line during an automated build the compile completes, but the output EXE is too small (only 4 MB). When running the install on a machine without .NET, the dialog prompting the user to install .NET 1.1 SP1 is never shown. An error is generated later when the first Install Assembly command is run.
The results are the same when running the command in a full automated build or solo in a DOS batch file. The command line used looks something like this:
"C:\\Program Files\\InstallAware 6\\miabuild.exe" "[Path]\\[ProjectName] Install.mpr" /b=2 /r CodeRoot="D:\\Builds\\Build Code\" VersionMajor=1 VersionMinor=0 VersionRevision=0 VersionBuild=9999
[Path] is a fully qualified path to the MPR file.
Thanks in advance.
-
MichaelNesmith
- Posts: 3452
- Joined: Thu Dec 22, 2005 7:17 pm
- Contact:
Please make sure you've installed all necessary plug-ins on the machine where you're doing the command line builds. That should be the cause of the strange behavior.
Michael Nesmith
Install[b]Aware[/b]
[i]Home of The Next Generation MSI Installer[/i]
Get your free copy today - http://www.installaware.com/
Install[b]Aware[/b]
[i]Home of The Next Generation MSI Installer[/i]
Get your free copy today - http://www.installaware.com/
Command line omits ALL prerequisites!!!
Thanks for the reply Michael. After reading your post I:
- Uninstalled InstallAware 6 and all 3rd party plugins (mdPLUGINS and EditFile)
- Rebooted the computer
- Reinstalled InstallAware 6, confirming the features selected
- Reinstalled 3rd party plugins
Still getting the same behavior:
- Build in IDE = success
- Build by command line = no .NET 1.1 SP1
The fact that the IDE builds are good leads me to conclude that all necessary plugins are present.
After testing this with the uncompressed build type I discovered that NONE of the prerequisites are being included. This install checks .NET 1.1 SP1 and Windows Installer 2.0. When I run an uncompressed build in the IDE the mDotNet.dll and mWinRun.dll directories get created in the Release\\Uncompressed\\data folder. If I clear out the Release folder and run an uncompressed build from command line, these folders do not appear.
The problem install project installs the client software of a c/s system. For the record, I have zero problems (IDE or command line) with the server install, which uses the MSDE 2000 plugin from mdPLUGINS. Only the client install, when built from the command line, omits the prerequisites.
- Uninstalled InstallAware 6 and all 3rd party plugins (mdPLUGINS and EditFile)
- Rebooted the computer
- Reinstalled InstallAware 6, confirming the features selected
- Reinstalled 3rd party plugins
Still getting the same behavior:
- Build in IDE = success
- Build by command line = no .NET 1.1 SP1
The fact that the IDE builds are good leads me to conclude that all necessary plugins are present.
After testing this with the uncompressed build type I discovered that NONE of the prerequisites are being included. This install checks .NET 1.1 SP1 and Windows Installer 2.0. When I run an uncompressed build in the IDE the mDotNet.dll and mWinRun.dll directories get created in the Release\\Uncompressed\\data folder. If I clear out the Release folder and run an uncompressed build from command line, these folders do not appear.
The problem install project installs the client software of a c/s system. For the record, I have zero problems (IDE or command line) with the server install, which uses the MSDE 2000 plugin from mdPLUGINS. Only the client install, when built from the command line, omits the prerequisites.
-
MichaelNesmith
- Posts: 3452
- Joined: Thu Dec 22, 2005 7:17 pm
- Contact:
Hi Brandon,
So you are actually building on the same machine where you have the IDE installed? This ought to work without any hiccups whatsoever. I thought maybe you copied the command line build module to a new folder on its own, and forgot about the plug-ins.
See if you can create a minimum project that you can send me to reproduce this problem; I'll be happy to then escalate this one for you to the dev team so they can take a look at it.
Thanks!
So you are actually building on the same machine where you have the IDE installed? This ought to work without any hiccups whatsoever. I thought maybe you copied the command line build module to a new folder on its own, and forgot about the plug-ins.
See if you can create a minimum project that you can send me to reproduce this problem; I'll be happy to then escalate this one for you to the dev team so they can take a look at it.
Thanks!
Michael Nesmith
Install[b]Aware[/b]
[i]Home of The Next Generation MSI Installer[/i]
Get your free copy today - http://www.installaware.com/
Install[b]Aware[/b]
[i]Home of The Next Generation MSI Installer[/i]
Get your free copy today - http://www.installaware.com/
Yes, the build machine has InstallAware installed on it. I didn't move files around or anything (didn't even know you could do that).
On the build machine (WS 2003 SP1):
- I tried to reproduce the problem with the ".NET Setup" template; just created a blank project and modified the prerequisites in the Visual Tab > Application Runtimes. However, this test case didn't exhibit the problem behavior.
- I can consistently reproduce the problem with the install project for my client software. Both the automated build software (FinalBuilder) and the DOS testing script produce the error.
I just rebooted the build machine and ran the DOS script, which runs the command posted previously. This script runs miabuild.exe twice, building an uncompressed layout and a web executable. Neither output contains the specified prerequisites (MSI 2.0 and .NET 1.1 SP1).
On my development machine (XP SP2):
- I cannot reproduce the problem at all. The client install project builds correctly from the command line.
Could this be a Windows Server 2003 SP1 issue? The only real difference between the dev and build machines is the version of Windows; all other software dependencies/versions are identical.
Perhaps the next step is for me to send you the project? Or maybe the build logs?
There is some slack in my development schedule for me to work with you debugging this. Let me know if there's specific tests you'd like run.
On the build machine (WS 2003 SP1):
- I tried to reproduce the problem with the ".NET Setup" template; just created a blank project and modified the prerequisites in the Visual Tab > Application Runtimes. However, this test case didn't exhibit the problem behavior.
- I can consistently reproduce the problem with the install project for my client software. Both the automated build software (FinalBuilder) and the DOS testing script produce the error.
I just rebooted the build machine and ran the DOS script, which runs the command posted previously. This script runs miabuild.exe twice, building an uncompressed layout and a web executable. Neither output contains the specified prerequisites (MSI 2.0 and .NET 1.1 SP1).
On my development machine (XP SP2):
- I cannot reproduce the problem at all. The client install project builds correctly from the command line.
Could this be a Windows Server 2003 SP1 issue? The only real difference between the dev and build machines is the version of Windows; all other software dependencies/versions are identical.
Perhaps the next step is for me to send you the project? Or maybe the build logs?
There is some slack in my development schedule for me to work with you debugging this. Let me know if there's specific tests you'd like run.
-
MichaelNesmith
- Posts: 3452
- Joined: Thu Dec 22, 2005 7:17 pm
- Contact:
Hi Brandon,
Please double-check that on your build machine, miabuild has full admin rights to its folders, the temp folders, and so on. It seems to me this ought to be the cause.
Please double-check that on your build machine, miabuild has full admin rights to its folders, the temp folders, and so on. It seems to me this ought to be the cause.
Michael Nesmith
Install[b]Aware[/b]
[i]Home of The Next Generation MSI Installer[/i]
Get your free copy today - http://www.installaware.com/
Install[b]Aware[/b]
[i]Home of The Next Generation MSI Installer[/i]
Get your free copy today - http://www.installaware.com/
-
MichaelNesmith
- Posts: 3452
- Joined: Thu Dec 22, 2005 7:17 pm
- Contact:
-
MichaelNesmith
- Posts: 3452
- Joined: Thu Dec 22, 2005 7:17 pm
- Contact:
The fact that the IDE can build successfully makes me think everything is installed properly.
I assume that the InstallAware IDE calls miabuild.exe when building a project. Are there any differences between the command line the IDE uses and the one I posted before? Do the order of command line arguments matter?
Would it help if I sent you the project files to review?
I assume that the InstallAware IDE calls miabuild.exe when building a project. Are there any differences between the command line the IDE uses and the one I posted before? Do the order of command line arguments matter?
Would it help if I sent you the project files to review?
Noticed that I put InstallAware in a custom directory when I installed it
Uninstalled it, then reinstalled using the default directory
Did not fix the problem
Code: Select all
C:\\Program Files\\InstallAware 6\\Code: Select all
C:\\Program Files\\InstallAware\\InstallAware 6\\-
MichaelNesmith
- Posts: 3452
- Joined: Thu Dec 22, 2005 7:17 pm
- Contact:
Hi Brandon,
If you need further help with this issue, please order a support incident here:
http://www.installaware.com/support-service-options.htm
I'm afraid because your case is not easy to reproduce (we've never experienced the problem here), and could be due to conflicting software on your system, we cannot provide free support, as much as we'd like to.
If you need further help with this issue, please order a support incident here:
http://www.installaware.com/support-service-options.htm
I'm afraid because your case is not easy to reproduce (we've never experienced the problem here), and could be due to conflicting software on your system, we cannot provide free support, as much as we'd like to.
Michael Nesmith
Install[b]Aware[/b]
[i]Home of The Next Generation MSI Installer[/i]
Get your free copy today - http://www.installaware.com/
Install[b]Aware[/b]
[i]Home of The Next Generation MSI Installer[/i]
Get your free copy today - http://www.installaware.com/
OK, I tried debugging this a little further, commented out a couple of lines, uncommented them, and now the problem has magically gone away. Have no idea what I did, but I can't reproduce it anymore.
No crack was consumed during debugging or posting about this problem. Seriously. If it pops up again I'll try create a project demonstrating the problem and post it here.
Thanks for your help!
No crack was consumed during debugging or posting about this problem. Seriously. If it pops up again I'll try create a project demonstrating the problem and post it here.
Thanks for your help!
Includes aren't included
I have a problem related to this.
When I build from the command line using a folder in the c: drive as the root, the .NET Framework is included, everything's jake and the installer is about 23MB.
When I build using a drive mapped to that same folder (M: is the drive letter), the installer is less than 4MB. This is the same machine, the same files and the same command shell (Visual Studio 2005 environment variables loaded).
This machine has the full Studio version installed and running a build from the IDE using the project file from the M: drive path, everything works. The only problem is running a command line build with the M: root (which is what we do for our production builds).
Any ideas?
When I build from the command line using a folder in the c: drive as the root, the .NET Framework is included, everything's jake and the installer is about 23MB.
When I build using a drive mapped to that same folder (M: is the drive letter), the installer is less than 4MB. This is the same machine, the same files and the same command shell (Visual Studio 2005 environment variables loaded).
This machine has the full Studio version installed and running a build from the IDE using the project file from the M: drive path, everything works. The only problem is running a command line build with the M: root (which is what we do for our production builds).
Any ideas?

