We are planning to upgrade to windows server 2008 machine (from server 2003) and have a bunch of windows services written in visual studio 2003/2005 that we will have to migrate. My concerns is that on server 2008 there is no .NET 1.1 framework, as we had on the server 2003.
I have some doubts, but hopeful to clear them here:
Are windows services 'targeted' for specific .net environments?
If, yes, how can I migrate to framework to 2.0?
Can I use the installutil from .net 2.2 to install a .net 1.1 win service?
Are windows services 'targeted' for specific .net environments?
Not specifically. .NET assemblies are version specific, but usually backwards compatible. A .NET 1.1 assembly will still run on a 2.0 or higher .NET version. I do suggest to upgrade though since .NET 1.1 is more than ten years old already.
If, yes, how can I migrate to framework to 2.0?
You have to change the targeted .NET Framework for the Visual Studio project. You can do this in the Project Settings dialog. You have to recompile and distribute that newer version.
Can I use the installutil from .net 2.2 to install a .net 1.1 win service?
Yes. The installutil is not something .NET specific. It will work for any exe as far as I know.
You can install .NET 1.1 (and also a SP1) on Windows 2008. It warns you about conflicts but works ok.
Related
The server runs windows server 2008 R2 that has .NET 4.0 framework as its highest supported version. I did see people commented that .NET core supports frameworks comes later than 4.5.
I think you can run it on Windows 2008 R2 if you install SP1 and the suitable Core Framework.
Supported Windows Version:
Windows 7 SP1
Windows 8.1
Windows 10
Windows Server 2008 R2 SP1 (Full Server or Server Core)
Windows Server 2012 SP1 (Full Server or Server Core)
Windows Server 2012 R2 SP1 (Full Server or Server Core)
Windows Server 2016 (Full Server, Server Core or Nano Server)
and your System should be up to date:
For Windows 7 and Windows Server 2008 machines only:
Make sure that your Windows installation is up-to-date and includes hotfix KB2533623 installed through Windows Update.
You can find more information here:
https://learn.microsoft.com/en-us/dotnet/core/windows-prerequisites
or you can read the release information form the differnt core versions on github.
According to .NET Core documentation here, you can target Windows Server 2008 R2 SP1 on .NET Core.
You can also upgrade to .NET Framework 4.5.2 on Windows Server 2008, refer this link.
If however, you cannot upgrade to .NET Framework 4.5 and above, I think you are out of luck. Refer .NET Standard
.NET Core doesn't know about, or really interact with, .NET Framework. Conversely, .NET Framework doesn't really know about, or interact with, .NET Core. So this question is sort of like "can I put Photoshop on a machine which currently has mspaint, but not paint.net?".
.NET Core applications can either be published and run in a mode where they depend on a shared framework having been installed, which makes each individual application smaller but has a prerequisite. Or, you can publish an application as everything it needs to run on some other machine as a "self-contained" or "standalone" application, which makes the application easier to run on an arbitrary machine (of the correct OS family) but at the expense of it being larger.
If you can't change the dependencies of the target machine at all, you want to go the self-contained route. If .NET Framework 4.0 is the newest available (even though it is out of support) because of an admin being concerned about upgrading shared dependencies then maybe you can get the .NET Core runtime installed, since it won't interact with .NET Framework, and then you can stick with the smaller footprint deployment.
For an explanation of self-contained vs framework-dependent (and how to do it), see
https://www.hanselman.com/blog/SelfcontainedNETCoreApplications.aspx
i am developing WPF application in visual studio and using .NET 3.5.
does the application fits Windows7 and Windows8 OS with no .NET framework additional installation?
do i need to add .NET 3.5 installation to setup project?
In Windows 7 .NET framework 3.5 is part of the operating system so all machines should have it.
In Windows 8 or windows 8.1 .NET framework 3.5 is NOT automatically installed (though all machines that are upgraded from win 7 -> win 8 should have it).
To run apps that require the .NET Framework 3.5 on Windows 8 or later, you must enable version 3.5 on your computer. There are two ways you can do this: by installing or running an app that requires the .NET Framework 3.5 (that is, by installing the .NET Framework 3.5 on demand), or by enabling the .NET Framework 3.5 in Control Panel. Both options require an Internet connection.
If an app requires the .NET Framework 3.5, but doesn't find that version enabled on your computer, it displays a message box, either during installation, or when you run the app for the first time. In the message box, choose Install this feature to enable the .NET Framework 3.5.
The above require an internet connection. If this is not possible you will have to include the .exe files of .NET 3.5 in your distribution
however as MSDN states:
The .NET Framework 4.5 and its point releases are backward-compatible
with apps that were built with earlier versions of the .NET Framework.
In other words, apps and components built with previous versions will
work without modification on the .NET Framework 4.5. However, by
default, apps run on the version of the common language runtime for
which they were developed, so you may have to provide a configuration
file to enable your app to run on the .NET Framework 4.5
So build your project for 3.5 and just deploy it to windows 8 machines. It should run, but its not the "best" environment for the app. The "best" would be to have .NET 3.5 installed.
I am facing a lot of trouble while deploying a windows form application on a CD. I have made the application in .NET framework 2.0 and I want to include the setup for the framwork with the installation disk. The application is to run on WindowsXP(damn, user requirement). I tried deploying it with 1 click deployment in VS2010 but the setup does not run on winXP.(Error-.NET framework 4.0 required to run the application). Is there any way of deploying the app which can run on winXP(.NET 2.0), win7(.NET 4.0)-32 bit as well as 64 bit environment.
A 32 bit app will run on 32 or 64 bit operating systems.
A .NET 2.0 application will run on .NET 2.0 or .NET 4.0.
Sounds like your installer is the only dependency on .NET 4. Check the publishing prerequisites you have set on your project.
Visual Studio 2010 doesn't provide a .Net 2.0 pre-requisite for deployment projects. A MSDN support rep explained (?) this in this question:
In VS 2010, it doesn’t support you to set .NET Framework 2.0 as
prerequisite. You can set .NET 3.5 SP1 client profile instead.
Although your application is still build target to .NET 2.0, .NET 3.5
client profile is a light weight .NET framework run time which
supports to run .NET 2.0 based application. So Microsoft removes .NET
2.0 from the prerequisite list.
There's a solution though in that thread:
If you take the .NET 2.0 package from the VS2008 bootstrapper packages
folder and copy it to the corresponding location for VS2010, it works
fine. I tested it in a virtual machine running Windows XP and no .NET.
On Vista or Windows 7, the VS2008 packages are here:
c:\Program Files\Microsoft
SDKs\Windows\v6.0A\Bootstrapper\Packages\DotNetFX (this is .NET 2.0)
On Vista or Windows 7, the VS2010 packages are here:
c:\Program Files\Microsoft SDKs\Windows\v7.0A\BootStrapper\Packages
See the other posts in the thread for more detail.
I'm writing a C# app (in VS 2008). If I target the .Net 3.5 framework, will it run on Windows XP and above? Will XP users potentially have to download a .Net upgrade?
UPDATE
If the app is intended for business / corporate environments do you think it's pretty safe to target 3.5 rather than 2.0?
Only Windows 7 and newer will come with .NET 3.5 (SP1) pre-installed; Windows XP and Vista users, while able to run apps built on .NET 3.5, have to download and install it first in order to use your app.
I think the latest service packs of XP and Vista include .NET 3.5, though.
If the app is intended for business / corporate environments do you think it's pretty safe to target 3.5 rather than 2.0?
Not if the client machines are not able to upgrade or install the 3.5 Framework.
It's not safe to assume they already have the framework. It is realistic, however, to have them install the framework. They probably have it, and if they don't then they should get it if you're writing an app in 3.5.
if i have an application that requires .net 3.0, what is the proper way to make an install file out of it, that will install the application and then install (activate) the .net 3.0? i tried publishing my project through visual studio 2008 (c#) which created the installer and the .net activator, but it didn't work properly on computers other than my own, when the .net 3.0 was not present.
i though i could bundle http://www.microsoft.com/downloads/details.aspx?FamilyID=10CC340B-F857-4A14-83F5-25634C3BF043&displaylang=en with the application, which would download and install .net 3.0 if needed. this could work ok on non-vista systems, but on vista, the redist package reports an error: you must use turn windows features on or off in the control panel to install or configure microsoft .net framework 3.0
The key is to install the .net framework if it is not there - regardless of the OS. Also, just go ahead and install the .Net 3.5 framework if you are going to install one of them.
Anyway, if you are using the built in installer that comes with Visual Studio, this is a real pain in the butt. You would be better off, and saner if you went with a different installer package. Install Shield, Wise, InstallAware will all do it for you. I believe you can also find better guidance on how to do this with Wix and NullSoft Installer.
http://www.improve.dk/blog/2007/06/10/creating-a-dotnet-bootstrapped-installer-using-nsis
How can I detect .NET 3.5 in WiX?
Windows Vista has already .NET Framework 3.0 installed.
Now if you wanted for example to have .NET Framework 3.5 installed you could create a Setup Project and then right click and go to View->Launch Conditions. There will be a .NET Framework launch condition where you can specify the required version of the framework and an URL to download from.
Here's a post about Launch Conditions in a Setup Project.