0
當發佈.net應用程序(它在C#中)不使用Clickonce時,如何確保正確的框架版本(例如4.0)將被安裝與應用程序,如果尚未安裝?安裝與應用程序正確的.net版本(不使用Clickonce)
使用Clickonce進行發佈時,Clickonce可以自動檢測目標計算機上是否安裝了.net的目標版本,如果不是 - 自動下載並安裝。如果我不使用Clickonce,而是使用iexpress或任何其他包裝系統?
當發佈.net應用程序(它在C#中)不使用Clickonce時,如何確保正確的框架版本(例如4.0)將被安裝與應用程序,如果尚未安裝?安裝與應用程序正確的.net版本(不使用Clickonce)
使用Clickonce進行發佈時,Clickonce可以自動檢測目標計算機上是否安裝了.net的目標版本,如果不是 - 自動下載並安裝。如果我不使用Clickonce,而是使用iexpress或任何其他包裝系統?
這似乎與問題How to detect what .NET Framework versions and service packs are installed?有點相關,所以我在此鏈接以供參考。
本質上,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
)副本,設置該批處理文件作爲install命令(如cmd /c install.bat
),並設置長文件名支持。