在发布不使用 Clickonce 的 .net 应用程序(在 C# 中)时,如果尚未安装,如何确保正确版本的框架(例如 4.0)将与应用程序一起安装?
使用 Clickonce 发布时,Clickonce 可以自动检测目标计算机上是否安装了目标版本的 .net,如果没有 - 自动下载并安装。如果我不使用 Clickonce,而是使用 iexpress 或任何其他打包系统怎么办?
在发布不使用 Clickonce 的 .net 应用程序(在 C# 中)时,如果尚未安装,如何确保正确版本的框架(例如 4.0)将与应用程序一起安装?
使用 Clickonce 发布时,Clickonce 可以自动检测目标计算机上是否安装了目标版本的 .net,如果没有 - 自动下载并安装。如果我不使用 Clickonce,而是使用 iexpress 或任何其他打包系统怎么办?
这似乎与如何检测安装了哪些 .NET Framework 版本和服务包?,所以我在这里链接到它以供参考。
本质上, 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...]
dotNetFx40_Full_x86_x64.exe
在 IExpress 存档中捆绑 .NET 4.0 () 的副本,将该批处理文件设置为您的安装命令(例如cmd /c install.bat
),并设置长文件名支持。