このコードを実行する場合:
CreateObject("WScript.Shell").RegWrite "HKLM\Whatever\", "MyValue", "REG_SZ"
.RegWrite
エラーが発生するWindows8でのみ問題が発生します。
「レジストリキーのルートが無効です」。
さて、あまり役に立たないエラーの説明で、私はそれが許可の問題であったことを見つけるためにいくつかのテストを行う必要があります。ただし、スクリプトを上げるとこれが解決します。そして、この本当の答えを出すために、私がしたことを投稿する必要がありますよね?
Call ElevateUAC
' ---------------------------
' my duty task goes here...
' ---------------------------
Sub ElevateUAC
If Not WScript.Arguments.Named.Exists("elevated") Then
'Launch the script again as administrator
With CreateObject("Shell.Application")
.ShellExecute "wscript.exe", """" & _
WScript.ScriptFullName & """ /elevated", "", "runas", 1
WScript.Quit
End With
End If
End Sub