2017-07-31 269 views
1

我使用nsis爲我的Windows窗體應用程序創建安裝程序。我需要.Net Framework 3.5 SP1作爲我的應用程序的先決條件。因此,使用NSIS我檢查它是否在客戶端機器中可用。如果沒有,那麼它會默默安裝它。但它給了我一個錯誤。我知道.Net Framework 3.5 SP1需要從控制面板中的「程序和功能」啓用。從「程序和功能」啓用.Net Framework 3.5 SP1並使用NSIS進行安裝

那麼,如何從控制面板使用NSIS腳本啓用功能'.NET FRAMEWORK 3.5'。

我NSIS部分,檢查並安裝.NET Framework 3.5 SP1是:

section 
    SetOutPath "$temp\Pre_requisites" 
    ; check and install .Net Framework 3.5SP1 
    ReadRegStr $R1 HKLM "Software\Microsoft\NET Framework Setup\NDP\v3.5" "SP" 
    ${If} $R1 != "1" 
        DetailPrint "Microsoft .NET Framework 3.5 SP1 needed. Installing..."    
        File "$temp\Pre_requisites\dotnetfx35.exe"  
        ExecWait '"$temp\Pre_requisites\dotnetfx35.exe" /q /norestart' 
    ${Else} 
    DetailPrint "Microsoft .NET Framework 3.5 SP1 Found." 
    ${EndIf} 
sectionend 

錯誤消息是(我已經在Windows嘗試這個7 SP1 64位):

enter image description here

謝謝..!

回答

1

執行以下代碼。它通過命令提示符爲.Net Framework 3.5在線安裝執行帶啓用功能參數的dism.exe。

 section 
     ; check and install .Net Framework 3.5SP1 
     ReadRegStr $R1 HKLM "Software\Microsoft\NET Framework Setup\NDP\v3.5" "SP" 
     ${If} $R1 != "1" 
         DetailPrint "Microsoft .NET Framework 3.5 SP1 needed. Installing..."    
         nsExec::Exec 'cmd /c %windir%\system32\dism.exe /Online /Enable-Feature /FeatureName:NetFx3 /All' 
     ${Else} 
     DetailPrint "Microsoft .NET Framework 3.5 SP1 Found." 
     ${EndIf} 
    sectionend 
2

在所有Windows 7安裝中,將近99.9%的默認安裝了.NET 3.5。因爲它是內置到源代碼中的功能。 請檢查註冊表以找出確切版本的.net已安裝。如果您確實需要在Windows 7下安裝.net 3.5,請查看https://technet.microsoft.com/de-de/library/dn482069.aspx。因爲您需要使用DSIM在Windows 7下安裝.net 3.5。安裝程序僅適用於Windows XP及更低版本。

相關問題