0

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

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

4

1 回答 1

1

这似乎与如何检测安装了哪些 .NET Framework 版本和服务包?,所以我在这里链接到它以供参考。

中没有内置支持来检测和安装 .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),并设置长文件名支持

于 2013-10-06T20:35:15.067 回答