how to install .NET Framework 2.0 unattended using VS.NET Setup Project Template

C

Christian Muggli

Hi all

we're trying to create an MSI package to deploy a .NET 2.0 Windows Service
using ADS and Computer Policy.
To our question: does someone know a good document which describes 'how to
build or create a windows installer setup routine using Visual Studio 2005'
?
The problem we've faced is, that the installer wants to download the .NET
redistributable from the internet.. that does not work, using GPO.

Help's appreciated!

Christian
 
L

Linda Liu [MSFT]

Hi Christian,

Based on my understanding, you'd like to create an MSI package to deploy a
.NET 2.0 Windows Service and add .NET Framework 2.0 as a prerequisite. If
I'm off base, please feel free to let me know.

It's easy to add .NET Framework 2.0 as a prerequisite to a Bootstrapper
setup in VS2005. The following is the steps.

1. In Solution Explorer, right-click the setup project and then click
Properties. The Property pages box will appear.

2. Click Prerequisites and then select Create setup program to install the
prerequisite components.

3. In Choose which prerequisite to install (for example .NET Framework
2.0).

4. In Specify the install location for prerequisites, choose the
appropriate option for your application. (Note: You can have users download
the .NET Framework from the Microsoft Download Center Web site or a custom
site specified by you.)

5. Click OK to close Prerequisites window.

6. Click OK to close Property Pages window.

7. Press F6, or select Build Solution to have Bootstrapper setup.exe and
MSI package generated for you.

Hope this helps.
If you have anything unclear, please feel free to tell me.


Sincerely,
Linda Liu
Microsoft Online Community Support

==================================================
Get notification to my posts through email? Please refer to
http://msdn.microsoft.com/subscriptions/managednewsgroups/default.aspx#notif
ications.

Note: The MSDN Managed Newsgroup support offering is for non-urgent issues
where an initial response from the community or a Microsoft Support
Engineer within 1 business day is acceptable. Please note that each follow
up response may take approximately 2 business days as the support
professional working with you may need further investigation to reach the
most efficient resolution. The offering is not appropriate for situations
that require urgent, real-time or phone-based interactions or complex
project analysis and dump analysis issues. Issues of this nature are best
handled working with a dedicated Microsoft Support Engineer by contacting
Microsoft Customer Support Services (CSS) at
http://msdn.microsoft.com/subscriptions/support/default.aspx.
==================================================

This posting is provided "AS IS" with no warranties, and confers no rights.
 
C

Christian Muggli

Thanks for your reply linda

The problem is the deployment of the application using GPO. We always get a
'Fatal error during installation' in EventViewer on systems that pull the
package cause of the GPO .. That's because the MSI (which we created like
you described it below) checks for the prerequisities, then detects the
missing framework 2.0 and ASKS the user what to do. So, using GPO who (the
heck) should answer this question?

I saw a few postings, stating, that MS wants the user to Accept the EULA for
installing the .NET Framework 2.0.

Check out this link:

http://blogs.msdn.com/astebner/archive/2006/01/15/513125.aspx

-- search for this part on the page .. --

Hi Aaron,

this is all very well but this web page seems to suggest that you are not
allowed to do silent installs.

http://msdn.microsoft.com/library/en-us/dnnetdep/html/isvdistmsdn.asp?frame=true

note in particular the text:

"Note that the redistribution license does not allow the ISV to alter the
installation experience of the runtime components (for instance, it does not
allow calling the runtime setup applications with the silent option turned
on)."

---

So, to our Problem .. We're an ISV and we created a windows service which
collects hard-/software inventory information, sends that information to a
central 'information dispatcher' using sockets .. Since we can NOT ask our
customers to buy an extra software distribution solution, nor all of 'em
have SMS to make the deployment, we need an easy way to deploy our
service -> Group Policy Objects .. And since it is coded in VS.NET 2005, we
need to deploy the .NET Framework 2.0 packaged inside the MSI as a
prerequisity.

There's another article stating, that the deployment of Framework 2.0 can be
done using GPO.

http://msdn2.microsoft.com/en-us/library/aa480236.aspx

Well, that nice, good, but bad. From the perspective of a SysAdmin, which
just wants to deploy .NET Framework on systems that really require that
package, this is a 'extra expense'..

Aditionally it is funny, that on the one hand MS wants the user to accepts
the eula, and the other hand, MS allows a SysAdmin to deploy it using GPO..
Well' i can see the difference clearly, since the SysAdmin takes the
'EULA-Acceptor-Role' ..

So, back to the 'Challenge' .. Do you see a way to create and MSI Package
using Visual Studio Setup Project, or do we really need to spend 3000
Dollars and buy Install Shield? Besides the high amount of money we'd have
to pay, i absolutely DO NOT LIKE Macrovision!

Christian
 
G

Gabriel Lozano-Morán

There is a subtle difference in deploying the .NET Framework vs
redistributing the .NET Framework with your own product. Therefore like I
mentioned in my other reply if you deploy the .NET Framework to your clients
using WSUS they don't need to accept the EULA for .NET Framework. If they
download it directly from the Windows Update site they have already accepted
the Windows Update licensing terms and therefore they don't have to accept
the EULA for .NET Framework either. If you redistribute it with your own MSI
or if they download it from a link they have to accept the EULA.

Therefore the only solution I see for you is to deploy the .NET Framework
using a silent install using the Windows Server Update Services or deploy
the .NET Framework using any other means and have the user explicitly accept
the EULA which is not so uncommon in even large enterprises.

Gabriel Lozano-Morán
The .NET Aficionado
http://www.pointerx.net
 
C

Christian Muggli

So, if a customer wants to buy our inventory solution he has to install WSUS
to deploy the .NET Framework? -> unpracticable!

what we need is a way to install the Framework SILENT as a part of a setup
routine. and if that shouldn't be possible, we'll have to downgrade the
whole service to C++ 6.0. Because all what a C++ 6.0 service needs can be
deployed/installed easily using an MSI Package.. no crappy question, no
reboots, just an MSI deployed using GPO - it's just a bit hard to believe
that MS has no practicable solution for that.. especially after after they
already released Framework 1.0 and 1.1 year ago .. !

thanks for your comment anyway..

Christian
 
M

Michael D. Ober

Since you are using GPO's, why not extract the framework from the
dotnetfx.exe file and deploy it as well via GPO? Another reason you may be
getting the fatal error is that your target systems don't have Windows
Installer 3.1. If not, you will need to deploy this via the GPO as well.
If you have Windows Server Update Service installed, it will deploy both the
installer and framework for you.

Mike Ober.
 
G

Gabriel Lozano-Morán

Chris

The whole problem is that accorind to the license agreements you can't
perform an unattended installation whether or not he uses bootstrappers. The
license agreements for redistributing the .NET Framework reads that the user
has to accept the End User License Agreements before installing the .NET
Framework.

Gabriel
 
L

Linda Liu [MSFT]

Hi Christian,

Sorry for my delayed reply.

When deloying .NET Framework 2.0 using Active Directory, the end users
still need to accept EULA.

To my opinion, the only way to install .NET Framework silently is to
executing Dotnetfx.exe using the following command:

dotnetfx.exe /q:a /c:"install /q"

In order to be launched and installed silently as part of a setup program
for a .NET Framework application, I think the only possible way is to
create a custom setup program. The setup program performs the following
operations:

1. Detect whether the .NET Framework is installed.
2. Launch a silent installation of Dotnetfx.exe.
3. Process common error codes during installation.
4. Call the MSI Setup for an application and suppress reboot until the
application is installed.

I have seached the MSDN, and only found a sample code for .NET Framework
1.1. You may visit the following link to get this sample.

.NET Framework Version 1.1 Setup.exe Bootstrapper Sample Source Code
http://msdn2.microsoft.com/en-us/netframework/aa569266.aspx

Hope this helps.


Sincerely,
Linda Liu
Microsoft Online Community Support
 
L

Linda Liu [MSFT]

Hi Christian,

How about the problem now?

If you need our further assistance, please feel free to let me know.

Thank you for using our MSDN Managed Newsgroup Support Service!


Sincerely,
Linda Liu
Microsoft Online Community Support
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top