You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
86 lines
2.6 KiB
Plaintext
86 lines
2.6 KiB
Plaintext
Option Explicit
|
|
Dim wshshell,fso,i,Fnct
|
|
Dim strPath,strSystemFolder,strWinFolder,strTempFolder
|
|
'----------------------------- Objekte erzeugen --------------------------------
|
|
i = 0
|
|
On Error Resume Next
|
|
Do
|
|
err.Clear
|
|
i = i+1
|
|
Set wshshell = CreateObject("WScript.Shell")
|
|
Set fso = CreateObject("Scripting.FileSystemObject")
|
|
Set Fnct = CreateObject("Install.Functions")
|
|
WScript.Sleep 1000
|
|
Loop Until Err.Number = 0 OR i > 30
|
|
|
|
If Err.Number <> 0 Then
|
|
WScript.Quit
|
|
End If
|
|
|
|
On Error Goto 0
|
|
|
|
'--------------------------- Standardpfade -------------------------------------
|
|
strPath = GetCurrentPath()
|
|
strSystemFolder = fso.GetSpecialFolder(1) & "\"
|
|
strWinFolder = fso.GetSpecialFolder(0) & "\"
|
|
strTempFolder = fso.GetSpecialFolder(2) & "\"
|
|
|
|
|
|
'------------------------------ Main -------------------------------------------
|
|
Dim strSaveAndRestore,strSaveAndRestoreDir,strList,strIniFile,strSarWinIni
|
|
Dim nCount
|
|
Dim Key
|
|
|
|
strSaveAndRestoreDir = ExpandPath("%SAR_DIR%","c:\saveAndRestore")
|
|
strSaveAndRestore = strSaveAndRestoreDir & "\SaveAndRestore.exe"
|
|
strIniFile = strSaveAndRestoreDir & "\SaveAndRestore.ini"
|
|
strSarWinIni = strWinFolder & "SaveAndRestore.ini"
|
|
|
|
key = "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run\SaveAndRestore"
|
|
Call wshshell.RegWrite(Key,strSaveAndRestoreDir & "\saveAndRestore.exe")
|
|
key = "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run\Installation"
|
|
On Error Resume Next
|
|
wshshell.RegDelete key
|
|
On Error Goto 0
|
|
|
|
|
|
'strList = "/R"
|
|
nCount = Fnct.GetIniString("SaveAndRestore","CntEntries",strIniFile)
|
|
Dim k
|
|
For k = 1 to nCount
|
|
strList = strList + Fnct.GetIniString("SaveAndRestore","Entry" & k,strIniFile)
|
|
If (Int(k) <> Int(nCount)) Then
|
|
strList = strList + ";"
|
|
End if
|
|
Next
|
|
|
|
'strList = strList + " " & GetCDDrive & "\"
|
|
|
|
Call Fnct.SetInistring("Restart","Profile",strList,strSarWinIni)
|
|
Call Fnct.SetInistring("Restart","Parameter1",strList,strSarWinIni)
|
|
Call Fnct.SetIniString("Restart","Parameter2","d:\Temp\SAR",strSarWinIni)
|
|
Call Fnct.SetIniString("Restart","Restart",1,strSarWinIni)
|
|
Call Fnct.SetIniString("Restart","Reentry","Restore",strSarWinIni)
|
|
|
|
|
|
Call Fnct.ExitWindows(2)
|
|
|
|
'------------------------------- Funktionen ------------------------------------
|
|
Function GetCurrentPath()
|
|
Dim l_strScriptName
|
|
Dim l_strTemp
|
|
|
|
l_strScriptName = WScript.ScriptFullName
|
|
l_strTemp = WScript.ScriptName
|
|
GetCurrentPath = Left(l_strScriptName, Len(l_strScriptName) - Len(l_strTemp))
|
|
End Function
|
|
|
|
Function ExpandPath(p_strEnvironment,p_strDefault)
|
|
Dim l_strTemp
|
|
l_strTemp = wshshell.ExpandEnvironmentStrings(p_strEnvironment)
|
|
If l_strTemp = p_strEnvironment Then
|
|
l_strTemp = p_strDefault
|
|
End If
|
|
ExpandPath = l_strTemp
|
|
End Function
|