0
我的任務是創建一個腳本,用於在安裝安全程序「Heimdal」之前檢查.net framework 4.5是否已安裝,如果沒有安裝.net install它應該安裝.net,然後安裝Heimdal。我嘗試過不同的解決方案,但我無法讓它工作... 我哪裏出錯了?請幫忙。批處理腳本,用於檢查多種因素並決定是否安裝
REG QUERY "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Client" /s|FIND "4.5"
IF %ErrorLevel% EQU 0 (
::echo.>DotNet4.5 already installed.txt
GOTO :Heimdal
) else (
Start /B /I /WAIT O:\it\Patrick\dotNetFx45_Full_setup.exe /q /norestart
echo.>DotNet4.5 Installed.txt
GOTO :Heimdal
)
:Heimdal
IF EXIST "C:\Program Files (x86)\Heimdal"(
echo.>Heimdal already installed.txt
GOTO :END
) else (
msiexec /qn /i "O:\it\Patrick\Heimdal.msi" heimdalkey="xxxxx-xxxx-xxx-xxx-xxxxx"
)
:END
echo.>DotNetAndHeimdalInstalled.txt
Thx Michael,這已被修復。但是,它仍然是無效的工作。有沒有一種好的方法來排除故障? –
我會爲代碼的每個部分添加一條回顯消息,以便您可以檢查它的碎片位置以及執行所採用的邏輯路徑。逐個測試你的片段。你確定.NET檢查工作正常嗎?當你嘗試創建像'DotNet4.5 already installed.txt'這樣的文本文件時,是否有訪問衝突?順便說一下,當它們包含空格時,應該用引號括住所有路徑和文件。改爲嘗試「DotNet4.5已安裝.txt」!這也可能有幫助! :D – MichaelS
我是本地管理員,所以我應該寫權利。我會嘗試用線上的回聲。我插入引號:D thx哈哈。即時消息漂亮的新手在這個,所以它有點challanging:頁。 –