====== Anmelde und Desktophintergrund verteilen ======
====== .zip - Package with all needed Files ======
[Link zur Zip-Datei entfernt, da er ungültig war. /th]
├ wallpaper
│ └ x.bmp
├ logon
│ └ backgroundx.jpg
├ setup.ins ← Made by bbz_edv
├ getmaxresolution.exe ← Made by bbz_edv (Written in C++)
└ ResSwitch.exe ← Made by Naughter Software [[http://www.naughter.com/]]
===== Informations =====
- The backgroundfiles are stored in folder "wallpaper" and they have to be a .bmp-file, otherwise it will cause problems with Windows XP.
- Windows XP: Logonscreen- and desktopbackground are the same and stored in folder "wallpaper"
- Windows7: Logonscreenbackgroundfile is stored in folder "logon" and has the following restrictions:
- backgroundDefault.jpg <- would be used by Windows in case no other backgroundfile is available.
- background1024x768.jpg
- Windows 7: desktopbackgroundfiles are stored (like in Windows XP) in folder "wallpaper" and have to be a ".bmp"-file, too.
===== Informationen =====
- Die Hintergrunddateien müssen im Ordner "wallpaper" abgelegt werden und müssen eine .bmp - Datei sein, weil es sonst Probleme mit Windows XP gibt
- Windows XP: Anmelde und Desktophintergrund-Dateien sind ein und dieselben und liegen im Ordner "wallpaper"
- Windows 7: Anmeldehintergrund-Dateien liegen im Ordner "logon" und unterliegen folgender Namenskonvention.
- backgroundDefault.jpg <- Wird von Windows nur genommen falls keine passende Dateie vorhanden ist
- background1024x768.jpg
- Windows 7: Desktophintergrund-Dateien liegen wie bei Windows XP im Ordner "wallpaper" und müssen ebenfalls eine .bmp - Datei sein
===== setup.ins =====
[Initial]
SetLogLevel=7
; Log Errors in Logfile but don't abort:
ExitOnError=false
; Show syntax errors in the script:
ScriptErrorMessages=on
; Dont trace step by step through the script:
TraceMode=off
; let started programs run in front of the winst window
StayOnTop=false
[Actions]
;;Trigger WMI-Query
DosInAnIcon_Get_Horizontal
DosInAnIcon_Get_Vertical
;;
;;Process WMI-Query
DefStringList $dos_horizontal_list$
DefStringList $dos_vertical_list$
DefVar $resolution$
;
Set $resolution$ = Trim (takeString(2,getOutStreamFromSection ('DosInAnIcon_Get_Horizontal'))) + "x" + Trim (takeString(2,getOutStreamFromSection ('DosInAnIcon_Get_Vertical')))
;;
;;Windows 7 Theme
DefVar $Theme_Win7_Name$
DefVar $Theme_Win7_WindowColor$
;
Set $Theme_Win7_Name$ = "BBZ"
Set $Theme_Win7_WindowColor$ = "FROST"
;;
;;Wallpaper & Logon Source
DefVar $Wallpaper_Src_Dir$
DefVar $Wallpaper_Src$
DefVar $Logon_Src_Dir$
;
Set $Wallpaper_Src_Dir$ = "%ScriptPath%\wallpaper\"
Set $Wallpaper_Src$ = $Wallpaper_Src_Dir$+$resolution$+".bmp"
Set $Logon_Src_Dir$ = "%ScriptPath%\logon\"
;;
;;Wallpaper & Logon Destination
DefVar $Wallpaper_WinXP_Dst$
DefVar $Wallpaper_Win7_Dst$
DefVar $Wallpaper_WinXP_Dst_Dir$
DefVar $Wallpaper_Win7_Dst_Dir$
DefVar $Logon_Win7_Dst_Dir$
;
Set $Wallpaper_WinXP_Dst_Dir$ = "C:\WINDOWS\Web\Wallpaper\"
Set $Wallpaper_Win7_Dst_Dir$ = "C:\WINDOWS\Web\Wallpaper\"+$Theme_Win7_Name$+"\"
Set $Wallpaper_WinXP_Dst$ = $Wallpaper_WinXP_Dst_Dir$+$resolution$+".bmp"
Set $Wallpaper_Win7_Dst$ = $Wallpaper_Win7_Dst_Dir$+$resolution$+".bmp"
Set $Logon_Win7_Dst_Dir$ = "C:\Windows\System32\oobe\info\backgrounds\"
;;
;;Check OS and ExitCode
DefVar $ExitCode$
DefVar $MSVersion$
;
Set $MSVersion$ = GetMsVersionInfo
;;
;;Check maximum Screen Resolution
DefVar $max_screen_resolution$
DefVar $max_screen_horizontal$
DefVar $max_screen_vertical$
;
DosInAnIcon_Get_Max_Resolution
Set $max_screen_resolution$ = Trim (takeString(0,getOutStreamFromSection ('DosInAnIcon_Get_Max_Resolution')))
Set $max_screen_horizontal$ = takeString(0, splitString($max_screen_resolution$, "x"))
Set $max_screen_vertical$ = takeString(1, splitString($max_screen_resolution$, "x"))
If ( $resolution$ = $max_screen_resolution$)
If ( $MSVersion$ >= "6" )
If FileExists($Wallpaper_Src$)
comment "Ihr Standard-Wallpaper wird nun aktualisiert"
Files_Wallpaper_Win7 /SysNative
Registry_Wallpaper_Win7 /SysNative
set $ExitCode$ = "0"
Else
comment "Ihr Betriebssystem oder ihre Auflösung wird nicht unterstützt"
set $ExitCode$ = "1"
EndIf
Else
If ( $MSVersion$ = "5.1" )
If FileExists($Wallpaper_Src$)
comment "Ihr Standard-Wallpaper wird nun aktualisiert"
Files_Wallpaper_WinXP /SysNative
Registry_Wallpaper_WinXP /SysNative /AllNTUserDats
set $ExitCode$ = "0"
Else
comment "Ihr Betriebssystem oder ihre Auflösung wird nicht unterstützt"
set $ExitCode$ = "1"
EndIf
Else
comment "Ihr Betriebssystem oder ihre Auflösung wird nicht unterstützt"
set $ExitCode$ = "1"
EndIf
EndIf
Else
DosInAnIcon_Set_Max_Resolution
DosInAnIcon_Get_Horizontal
DosInAnIcon_Get_Vertical
Set $resolution$ = Trim (takeString(2,getOutStreamFromSection ('DosInAnIcon_Get_Horizontal'))) + "x" + Trim (takeString(2,getOutStreamFromSection ('DosInAnIcon_Get_Vertical')))
Set $Wallpaper_Src$ = $Wallpaper_Src_Dir$+$resolution$+".bmp"
Set $Wallpaper_WinXP_Dst$ = $Wallpaper_WinXP_Dst_Dir$+$resolution$+".bmp"
Set $Wallpaper_Win7_Dst$ = $Wallpaper_Win7_Dst_Dir$+$resolution$+".bmp"
If ( $MSVersion$ >= "6" )
If FileExists($Wallpaper_Src$)
comment "Ihr Standard-Wallpaper wird nun aktualisiert"
Files_Wallpaper_Win7 /SysNative
Registry_Wallpaper_Win7 /SysNative
set $ExitCode$ = "0"
Else
comment "Ihr Betriebssystem oder ihre Auflösung wird nicht unterstützt"
set $ExitCode$ = "1"
EndIf
Else
If ( $MSVersion$ = "5.1" )
If FileExists($Wallpaper_Src$)
comment "Ihr Standard-Wallpaper wird nun aktualisiert"
Files_Wallpaper_WinXP /SysNative
Registry_Wallpaper_WinXP /SysNative /AllNTUserDats
set $ExitCode$ = "0"
Else
comment "Ihr Betriebssystem oder ihre Auflösung wird nicht unterstützt"
set $ExitCode$ = "1"
EndIf
Else
comment "Ihr Betriebssystem oder ihre Auflösung wird nicht unterstützt"
set $ExitCode$ = "1"
EndIf
EndIf
EndIf
[DosInAnIcon_Get_Horizontal]
@echo off
wmic path win32_videocontroller get currentHorizontalResolution
[DosInAnIcon_Get_Vertical]
@echo off
wmic path win32_videocontroller get currentVerticalResolution
[DosInAnIcon_Get_Max_Resolution]
@echo off
"%scriptpath%\getmaxresolution.exe"
[DosInAnIcon_Set_Max_Resolution]
@echo off
"%scriptpath%\ResSwitch.exe" /WIDTH:$max_screen_horizontal$ /HEIGHT:$max_screen_vertical$ /updateregistry
[Files_Wallpaper_Win7]
delete -s -f "$Wallpaper_Win7_Dst_Dir$"
copy -s "$Wallpaper_Src_Dir$" "$Wallpaper_Win7_Dst_Dir$"
[Registry_Wallpaper_Win7]
OpenKey [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Themes]
Add "DesktopBackground" = "$Wallpaper_Win7_Dst$"
Set "DesktopBackground" = "$Wallpaper_Win7_Dst$"
Add "NoThemeInstall" = reg_dword:0x00000000
Set "NoThemeInstall" = reg_dword:0x00000000
Add "ThemeName" = "$Theme_Win7_Name$"
Set "ThemeName" = "$Theme_Win7_Name$"
Add "WindowColor" = "$Theme_Win7_WindowColor$"
Set "WindowColor" = "$Theme_Win7_WindowColor$"
[Files_Wallpaper_WinXP]
copy -s "$Wallpaper_Src_Dir$" "$Wallpaper_WinXP_Dst_Dir$"
[Registry_Wallpaper_WinXP]
OpenKey [Control Panel\Desktop]
Add "Wallpaper" = "$Wallpaper_WinXP_Dst$"
Set "Wallpaper" = "$Wallpaper_WinXP_Dst$"
[Files_Logon_Win7]
copy -s "$Logon_Src_Dir$" "$Logon_Win7_Dst_Dir$"
[Registry_Logon_Win7]
OpenKey [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Authentication]
Add "OEMBackground" = reg_dword:0x00000001
Set "OEMBackground" = reg_dword:0x00000001
OpenKey [HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\System]
Add "UseOEMBackground" = reg_dword:0x00000001
Set "UseOEMBackground" = reg_dword:0x00000001