使用应用程序安装正确的.net版本(不使用Clickonce)

本文关键字:Clickonce 版本 应用程序 安装 net | 更新日期: 2023-09-27 18:19:30

当发布一个不使用Clickonce的.net应用程序(它在C#中)时,如果还没有安装,我如何确保框架的正确版本(例如4.0)将与应用程序一起安装?

当使用Clickonce发布时,Clickonce可以自动检测目标计算机上是否安装了.net的目标版本,如果没有,则自动下载并安装。如果我不使用Clickonce,而是使用iexpress或任何其他打包系统,该怎么办?

使用应用程序安装正确的.net版本(不使用Clickonce)

这似乎与如何检测安装了哪些.NET Framework版本和service Pack的问题有关?,所以我在这里链接到它以供参考。

本质上,iexpress中没有内置的检测和安装.NET框架的支持;你必须自己做。从理论上讲,你可以为这个批量编写一些东西;一个简单的例子可能看起来像:

@echo off
setlocal
rem Check if .NET 4.0 is installed; if not, try to install it
reg query "HKLM'Software'Microsoft'NET Framework Setup'NDP'v4'Full" /v Install
if not errorlevel 0 dotNetFx40_Full_x86_x64.exe /q /norestart
rem Check if the install was successful; if it was, install app
reg query "HKLM'Software'Microsoft'NET Framework Setup'NDP'v4'Full" /v Install
if not errorlevel 0 exit /b 1
::[...install app, etc...]

在IExpress存档中捆绑一份.NET 4.0(dotNetFx40_Full_x86_x64.exe),将该批处理文件设置为安装命令(例如cmd /c install.bat),并设置长文件名支持