|
Hi, I want to deploy a 32 bit .net application. Supported Windows OS: - 32 bit starting Windows XP. - 64 bit starting Windows XP. .Net framework version to be installed: - 2.0 Following are my questions: 1. Can I rely on operating system by default having .net installed? Or do I have to install the redistributable? 2. For 32 bit OS I will have to install 32 bit .net redistributable. For 64 bit OS I will have to install 64 bit .net. 3. On 64 bit OS will my application use 64 bit CLR or 32 bit CLR? Does the 32 bit CLR come along with 64 bit .net? 4. Do I have to include MSI 3.0 installer as well? Best Regards, Vishal - Moved byYiChun ChenMSFTTuesday, April 28, 2009 9:58 AMDeployment issue (From:.NET Framework Setup)
-
| | Vishal_pai Monday, April 27, 2009 9:11 AM | Since you say it is a 32 bit application, it would target the x86 CPU and the x86 .NET Framework 2.0 regardless of whether the OS is 32 bit or 64 bit. Depending on the IDE used to write the application, you can specifically target either the x86 or x64 CPU. You can then deploy a 64 bit version of your program and include with it the .NET Framework 2.0 Redistributable Package (x64) . Otherwise, VS should build assemblies that will target any CPU. If it can run at 64 bit, then it will, otherwise it will target the x86 platform. As for which .NET version to install, I would recommend the latest .NET 3.5 SP1 as it comes with .NET 2.0 SP1 and SP2, and .NET 3.0 SP1 as well as 3.5 SP1. - Marked As Answer byBruce.ZhouMSFT, ModeratorMonday, May 04, 2009 1:50 AM
-
| | etisoppo Monday, April 27, 2009 11:47 AM | Hi Vishal_pai, Let me try to answer your listed questions: 1. You can't rely on operating system by default having .NET Framework installed. Only high version of windows ships with .NET FrameWork installed. low versions of Windows, like Windows Xp doesn't install by default. With the bootstrap technology Microsoft provided, we can choose the required version of .NET Framework as a prerequisite, then when we install the application, the bootstrap will check for the presrequisites. For example, if the bootstrap find the system hasn't required version of .NET Framework installed, it will download the .NET Framework from the vendor's company's site, or from your application depends on your setting. After the setup files are downloaded, the bootstrap will install all the prerequisites. After all prerequisites are present, it begins installing your application. 2. That's not necessary. If your application is compiled target to "any cpu", then your application will run on Windows 32 as well as Window64. There's a technology called WoW(for Windows on Windows64) allows 32-bit applications run on 64-bit versions of Windows. 3. Windows will load the version of CLR according to the PE header of your application. If 64 bit version of window find the PE header of the application is PE32, it will create a WoW64 process, and load in the corresponding version of MsCorEE.dll. 4. Of course, you need. By default, MSI will be checked as a prerequisite. Please let me know if you have anything unclear. Best regards, Bruce Zhou
Please mark the replies as answers if they help and unmark if they don't.- Marked As Answer byBruce.ZhouMSFT, ModeratorMonday, May 04, 2009 1:50 AM
-
| | Bruce.Zhou Wednesday, April 29, 2009 4:01 AM | Since you say it is a 32 bit application, it would target the x86 CPU and the x86 .NET Framework 2.0 regardless of whether the OS is 32 bit or 64 bit. Depending on the IDE used to write the application, you can specifically target either the x86 or x64 CPU. You can then deploy a 64 bit version of your program and include with it the .NET Framework 2.0 Redistributable Package (x64) . Otherwise, VS should build assemblies that will target any CPU. If it can run at 64 bit, then it will, otherwise it will target the x86 platform. As for which .NET version to install, I would recommend the latest .NET 3.5 SP1 as it comes with .NET 2.0 SP1 and SP2, and .NET 3.0 SP1 as well as 3.5 SP1. - Marked As Answer byBruce.ZhouMSFT, ModeratorMonday, May 04, 2009 1:50 AM
-
| | etisoppo Monday, April 27, 2009 11:47 AM | Hi Vishal, I am moving this thread from Base ".NET Framework Setup" forum to the "ClickOnce and Setup & Deployment Projects" forum, since the issue is related to deployment. There are more deployment experts in the "ClickOnce and Setup & Deployment Projects" forum. Thanks
Please remember to mark the replies as answers if they help and unmark them if they provide no help.
Welcome to the All-In-One Code Framework! If you have any feedback, please tell us. | | YiChun Chen Tuesday, April 28, 2009 9:57 AM | Hi Vishal_pai, Let me try to answer your listed questions: 1. You can't rely on operating system by default having .NET Framework installed. Only high version of windows ships with .NET FrameWork installed. low versions of Windows, like Windows Xp doesn't install by default. With the bootstrap technology Microsoft provided, we can choose the required version of .NET Framework as a prerequisite, then when we install the application, the bootstrap will check for the presrequisites. For example, if the bootstrap find the system hasn't required version of .NET Framework installed, it will download the .NET Framework from the vendor's company's site, or from your application depends on your setting. After the setup files are downloaded, the bootstrap will install all the prerequisites. After all prerequisites are present, it begins installing your application. 2. That's not necessary. If your application is compiled target to "any cpu", then your application will run on Windows 32 as well as Window64. There's a technology called WoW(for Windows on Windows64) allows 32-bit applications run on 64-bit versions of Windows. 3. Windows will load the version of CLR according to the PE header of your application. If 64 bit version of window find the PE header of the application is PE32, it will create a WoW64 process, and load in the corresponding version of MsCorEE.dll. 4. Of course, you need. By default, MSI will be checked as a prerequisite. Please let me know if you have anything unclear. Best regards, Bruce Zhou
Please mark the replies as answers if they help and unmark if they don't.- Marked As Answer byBruce.ZhouMSFT, ModeratorMonday, May 04, 2009 1:50 AM
-
| | Bruce.Zhou Wednesday, April 29, 2009 4:01 AM | Hi Bruce, Thanks for answering. Following are some more questions: 1. Yes for 32 bit OS I will be shipping .NET for x86. For 64 bit OS all the Vista versions come by default with .NET 2.0 as per the blog (http://blogs.msdn.com/astebner/archive/2007/03/14/mailbag-what-version-of-the-net-framework-is-included-in-what-version-of-the-os.aspx). I am not sure about XP 64 bit. Does it have .NET 2.0 installed by default? 2. So assuming XP 64 bit does not have .NET 2.0 installed. I will have to install x64 version of .NET right? [Because x86 version of .net cannot be installed on x64]. And only for one OS version I have to increase my installer size by 100% :(. Also my application is used for personal purposes which means there is no vendor company site. I hope I am not missing anything here. Yes 3 and 4 looks good to me. Best Regards, Vishal
- Edited byVishal_pai Friday, May 01, 2009 10:43 AM
-
| | Vishal_pai Friday, May 01, 2009 10:39 AM | Hi Vishal, The XP 64 bit operating system doesn't install .NET 2.0 by default. You need to install .NET 2.0. If your application doesn't rely on third party components, then it doesn't need to configure the setup to download these from the vendor company. But at least, I think if .NET framework redistrutable doesn't ship with your setup, then you need to configure the setup to download from Microsoft site. If you have anything unclear, please feel free to tell me. Best regards, Bruce Zhou
Please mark the replies as answers if they help and unmark if they don't. | | Bruce.Zhou Friday, May 01, 2009 11:07 AM |
|