1
我有以下問題:Reg文件從VBS導入不完整
客戶的自定義安裝腳本需要導入一個reg文件。它是由系統上下文中有命令(32位)運行VBScript文件進行
cmd /c reg import reg_neu32Bit.reg /reg:32
位或64位
cmd /c reg import reg_neu.reg /reg:64
當從控制檯管理權限手動運行,它成功導入所有密鑰。然而,當從VBScript運行時,導入在中間斷開,沒有反饋,只有一些鍵(直到NetworkServerFile行)被導入,註冊表中找不到該行下面的任何鍵。
Reg文件看起來是這樣的:
Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\SOFTWARE\Company\__Tool3] "EnableEM"="True" "EnableRegistry"="True" [HKEY_LOCAL_MACHINE\SOFTWARE\SOME_SOFT\Tool3_V3\SOMETHING] "PathToInstantClient"="C:\\Program Files\\SOME_SOFT\\Tool3_V3\\instant_client" "MemorySize"="640000" "RowCount"="1000" "CONNECTIONTYPE"="SOMETHING" "NetworkServerStatus"="False" "NetworkServerFile"="" "CheckIsAdmin"="success" "PWD"="123456......................" "TNS"="appp" "USR"="app" "NLS_LANG"="GERMAN_GERMANY.AL16UTF16" "BIN_PWD"=hex:ab..... "TNS_ADMIN"="\\\\somenetpath"
知道爲什麼這會發生?
編輯:
VBScript代碼:
ReDim Preserve aShellRunAI(0)
If iBits = 64 Then
aShellRunAI(0) = "cmd /c reg import reg_neu.reg /reg:64"
Else
aShellRunAI(0) = "cmd /c reg import reg_neu32Bit.reg /reg:32"
End If
序列
及更高版本:
For Each sCmd In aShellRunAI
WriteToLog 0, "sCmd:" & sCmd
Call oShell.Run(sCmd, 0, True)
Next
我不覺得你的* CMD *代碼有什麼問題。請顯示您的* VBScript *代碼。 –
我添加了有關調用的信息 –
將命令行更改爲'cmd/c reg import ... >> C:\ reg.log 2>&1',以便您從導入命令的實際輸出中獲得日誌。同時檢查退出代碼:'rc = oShell.Run(sCmd,0,True):如果rc <> 0則WScript.Echo「Reg導入失敗。退出代碼:」&rc'。 –