Seite 1 von 2
					
				registry keys setzen
				Verfasst: 03 Jul 2008, 07:52
				von mro-rednet
				Guten Morgen,
blicke nicht ganz durch beim registry keys setzen. Ich möchte für die verteilung von 7ZIP die Dateiverknüpfungen setzen, was scheinbar nur über die registrykey möglich ist.
Kann mir jemand ein Beispiel anhand eines Beispiels nennen, wie es aussehen sollte wenn ich neue registry key erstellt / eingefügt wird?!
DANKE
Gruß
			 
			
					
				Re: registry keys setzen
				Verfasst: 03 Jul 2008, 08:07
				von heuft_kdi
				Hier mal ein Beispiel wie ich es bei IzArc einsetze (wobei das Skript noch nicht getestet ist). Ich habe es zweigeteilt.
Im Winst Script steht:
Code: Alles auswählen
[Aktionen]
DefVar $OS$
Set $OS$ = GetOS
; is this a win32 system ?
if ( $OS$ = "Windows_NT" OR $OS$ = "Windows_95" )
  ShowBitmap /2 "%SCRIPTPATH%\izarc.bmp" "IzArc 3.6"
  winbatch_install_izarc
  Registry "%SCRIPTPATH%\files\izarc_install.reg" /regedit
  Registry_Add_User_Propertys /AllNTUserdats
  LinkFolder_IzArc
endif
Die Datei izarc_install.reg sieht dann so aus:
Code: Alles auswählen
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\*\shellex\ContextMenuHandlers\IZArcCM]
""="{8D9D4D0D-FDDD-44CB-AAB2-6161FA0757C5}"
[HKEY_CLASSES_ROOT\.7z]
""="IZArc7Z"
[HKEY_CLASSES_ROOT\.a]
""="IZArcA"
[HKEY_CLASSES_ROOT\.ace]
""="IZArcACE"
[HKEY_CLASSES_ROOT\.arc]
""="IZArcARC"
[HKEY_CLASSES_ROOT\.arj]
""="IZArcARJ"
[HKEY_CLASSES_ROOT\.b64]
""="IZArcB64"
[HKEY_CLASSES_ROOT\.bh]
""="IZArcBH"
[HKEY_CLASSES_ROOT\.bz2]
""="IZArcBZ2"
[HKEY_CLASSES_ROOT\.bza]
""="IZArcBZA"
[HKEY_CLASSES_ROOT\.cab]
""="IZArcCAB"
[...]
Alternativ kann man natürlich auch alles ins Installationsskript schreiben (Hier ein Beispiel für das Eintragen bei allen Usern):
Code: Alles auswählen
[Registry_Add_User_Propertys]
OpenKey [Software\IZSoftware\IZArc]
set "AppLanguageFile"=REG_SZ:"German.lng"
set "ShowMessages"=reg_dword:00000000
set "ShowToolbar"=reg_dword:00000001
set "ShowToolbarCaptions"=reg_dword:00000001
set "ShowStatusPanel"=reg_dword:00000001
set "ShowGridLines"=reg_dword:00000000
set "FullRowSelect"=reg_dword:00000001
set "FlatScrollbars"=reg_dword:00000000
set "FlatToolButtons"=reg_dword:00000001
set "StartUpType"=reg_dword:00000001
set "AddType"=reg_dword:00000000
set "ExtractType"=reg_dword:00000001
[...]
Das ganze Thema ist aber im Handbuch wirklich gut beschrieben.
 
			 
			
					
				Re: registry keys setzen
				Verfasst: 03 Jul 2008, 08:58
				von mro-rednet
				soo, danke dir, das klappt soweit...
nur hab ich das Problem wenn ich nun einen pfad mit nem parameter dahinter angebe
Code: Alles auswählen
OpenKey [HKEY_LOCAL_MACHINE\SOFTWARE\CLASSES\7-Zip.7z\shell\open\command]
set ""=REG_SZ: ""C:\Programme\7-Zip\7zFM.exe" "%1""
das %1 ist das Problem,
hier bringt winst den fehler : chars at line ending not interpreted.
Also scheint er ein Problem mit den 
"  zu haben.
ABER WARUM ???
 
			 
			
					
				Re: registry keys setzen
				Verfasst: 03 Jul 2008, 09:05
				von heuft_kdi
				Versuch mal
Allerdings habe ich mit den Doppelten Anführungsstrichen auch öfter Probleme. Ein Maskieren wie bei Linux/Perl (mit einen Backslash wäre hier praktisch).
 
			 
			
					
				Re: registry keys setzen
				Verfasst: 03 Jul 2008, 09:21
				von mro-rednet
				und auch das hat funktioniert....
DANKE
			 
			
					
				Re: registry keys setzen
				Verfasst: 03 Jul 2008, 10:37
				von mro-rednet
				so, nun ist das Skript fertig mit den gebräuchlichsten Verknüpfungen, einzig der Haken wird im Programm nicht gesetzt für die VErknüpfungen.
Sobald ich meinen Zugang bekomme, stelle ich das Skript auch in die WINST-Skript Sammlung.
Code: Alles auswählen
;Nullsoft NSIS Installer
;Erstellt von Mark Rost
[Initial]
Message=installiere 7-Zip
LogLevel=2
ExitOnError=false
ScriptErrorMessages=on
TraceMode=off
[Aktionen]
if not (HasMinimumSpace("%Systemdrive%","550MB"))
        LogError "Nicht genuegend Platz auf C:"
else
        Winbatch_install
	Registry_Add_User_Propertys_7z
	Registry_Add_User_Propertys_arj
	Registry_Add_User_Propertys_zip
	Registry_Add_User_Propertys_cab
	Registry_Add_User_Propertys_iso
	Registry_Add_User_Propertys_z
	Registry_Add_User_Propertys_rar
	
	
endif
[Winbatch_install]
"%SCRIPTPATH%\7z457.msi" /qb
[Registry_Add_User_Propertys_7z]
OpenKey [HKEY_LOCAL_MACHINE\SOFTWARE\CLASSES\.7z]
set ""=REG_SZ:"7-Zip.7z"
OpenKey [HKEY_LOCAL_MACHINE\SOFTWARE\CLASSES\7-Zip.7z]
set ""=REG_SZ:"7z Archive"
OpenKey [HKEY_LOCAL_MACHINE\SOFTWARE\CLASSES\7-Zip.7z\Defaluticon]
set ""=REG_SZ:"C:\Programme\7-Zip\7z.dll,0"
OpenKey [HKEY_LOCAL_MACHINE\SOFTWARE\CLASSES\7-Zip.7z\shell\open\command]
set ""=REG_SZ: '"C:\Programme\7-Zip\7zFM.exe" "%1"'
OpenKey [HKEY_LOCAL_MACHINE\SOFTWARE\CLASSES\7-Zip.7z\shell\open]
set ""=REG_SZ: ""
OpenKey [HKEY_LOCAL_MACHINE\SOFTWARE\CLASSES\7-Zip.7z\shell]
set ""=REG_SZ: ""
[Registry_Add_User_Propertys_arj]
OpenKey [HKEY_LOCAL_MACHINE\SOFTWARE\CLASSES\.arj]
set ""=REG_SZ:"7-Zip.arj"
OpenKey [HKEY_LOCAL_MACHINE\SOFTWARE\CLASSES\7-Zip.arj]
set ""=REG_SZ:"arj Archive"
OpenKey [HKEY_LOCAL_MACHINE\SOFTWARE\CLASSES\7-Zip.arj\Defaluticon]
set ""=REG_SZ:"C:\Programme\7-Zip\arj.dll,4"
OpenKey [HKEY_LOCAL_MACHINE\SOFTWARE\CLASSES\7-Zip.arj\shell\open\command]
set ""=REG_SZ: '"C:\Programme\7-Zip\7zFM.exe" "%1"'
OpenKey [HKEY_LOCAL_MACHINE\SOFTWARE\CLASSES\7-Zip.arj\shell\open]
set ""=REG_SZ: ""
OpenKey [HKEY_LOCAL_MACHINE\SOFTWARE\CLASSES\7-Zip.arj\shell]
set ""=REG_SZ: ""
[Registry_Add_User_Propertys_zip]
OpenKey [HKEY_LOCAL_MACHINE\SOFTWARE\CLASSES\.zip]
set ""=REG_SZ:"7-Zip.zip"
OpenKey [HKEY_LOCAL_MACHINE\SOFTWARE\CLASSES\7-Zip.zip]
set ""=REG_SZ:"zip Archive"
OpenKey [HKEY_LOCAL_MACHINE\SOFTWARE\CLASSES\7-Zip.zip\Defaluticon]
set ""=REG_SZ:"C:\Programme\7-Zip\zip.dll,1"
OpenKey [HKEY_LOCAL_MACHINE\SOFTWARE\CLASSES\7-Zip.zip\shell\open\command]
set ""=REG_SZ: '"C:\Programme\7-Zip\7zFM.exe" "%1"'
OpenKey [HKEY_LOCAL_MACHINE\SOFTWARE\CLASSES\7-Zip.zip\shell\open]
set ""=REG_SZ: ""
OpenKey [HKEY_LOCAL_MACHINE\SOFTWARE\CLASSES\7-Zip.zip\shell]
set ""=REG_SZ: ""
[Registry_Add_User_Propertys_cab]
OpenKey [HKEY_LOCAL_MACHINE\SOFTWARE\CLASSES\.cab]
set ""=REG_SZ:"7-Zip.cab"
OpenKey [HKEY_LOCAL_MACHINE\SOFTWARE\CLASSES\7-Zip.cab]
set ""=REG_SZ:"cab Archive"
OpenKey [HKEY_LOCAL_MACHINE\SOFTWARE\CLASSES\7-Zip.cab\Defaluticon]
set ""=REG_SZ:"C:\Programme\7-Zip\cab.dll,7"
OpenKey [HKEY_LOCAL_MACHINE\SOFTWARE\CLASSES\7-Zip.cab\shell\open\command]
set ""=REG_SZ: '"C:\Programme\7-Zip\7zFM.exe" "%1"'
OpenKey [HKEY_LOCAL_MACHINE\SOFTWARE\CLASSES\7-Zip.cab\shell\open]
set ""=REG_SZ: ""
OpenKey [HKEY_LOCAL_MACHINE\SOFTWARE\CLASSES\7-Zip.cab\shell]
set ""=REG_SZ: ""
[Registry_Add_User_Propertys_iso]
OpenKey [HKEY_LOCAL_MACHINE\SOFTWARE\CLASSES\.iso]
set ""=REG_SZ:"7-Zip.iso"
OpenKey [HKEY_LOCAL_MACHINE\SOFTWARE\CLASSES\7-Zip.iso]
set ""=REG_SZ:"iso Archive"
OpenKey [HKEY_LOCAL_MACHINE\SOFTWARE\CLASSES\7-Zip.iso\Defaluticon]
set ""=REG_SZ:"C:\Programme\7-Zip\iso.dll,8"
OpenKey [HKEY_LOCAL_MACHINE\SOFTWARE\CLASSES\7-Zip.iso\shell\open\command]
set ""=REG_SZ: '"C:\Programme\7-Zip\7zFM.exe" "%1"'
OpenKey [HKEY_LOCAL_MACHINE\SOFTWARE\CLASSES\7-Zip.iso\shell\open]
set ""=REG_SZ: ""
OpenKey [HKEY_LOCAL_MACHINE\SOFTWARE\CLASSES\7-Zip.iso\shell]
set ""=REG_SZ: ""
[Registry_Add_User_Propertys_rar]
OpenKey [HKEY_LOCAL_MACHINE\SOFTWARE\CLASSES\.rar]
set ""=REG_SZ:"7-Zip.rar"
OpenKey [HKEY_LOCAL_MACHINE\SOFTWARE\CLASSES\7-Zip.rar]
set ""=REG_SZ:"rar Archive"
OpenKey [HKEY_LOCAL_MACHINE\SOFTWARE\CLASSES\7-Zip.rar\Defaluticon]
set ""=REG_SZ:"C:\Programme\7-Zip\rar.dll,3"
OpenKey [HKEY_LOCAL_MACHINE\SOFTWARE\CLASSES\7-Zip.rar\shell\open\command]
set ""=REG_SZ: '"C:\Programme\7-Zip\7zFM.exe" "%1"'
OpenKey [HKEY_LOCAL_MACHINE\SOFTWARE\CLASSES\7-Zip.rar\shell\open]
set ""=REG_SZ: ""
OpenKey [HKEY_LOCAL_MACHINE\SOFTWARE\CLASSES\7-Zip.rar\shell]
set ""=REG_SZ: ""
[Registry_Add_User_Propertys_z]
OpenKey [HKEY_LOCAL_MACHINE\SOFTWARE\CLASSES\.z]
set ""=REG_SZ:"7-Zip.z"
OpenKey [HKEY_LOCAL_MACHINE\SOFTWARE\CLASSES\7-Zip.z]
set ""=REG_SZ:"z Archive"
OpenKey [HKEY_LOCAL_MACHINE\SOFTWARE\CLASSES\7-Zip.z\Defaluticon]
set ""=REG_SZ:"C:\Programme\7-Zip\z.dll,5"
OpenKey [HKEY_LOCAL_MACHINE\SOFTWARE\CLASSES\7-Zip.z\shell\open\command]
set ""=REG_SZ: '"C:\Programme\7-Zip\7zFM.exe" "%1"'
OpenKey [HKEY_LOCAL_MACHINE\SOFTWARE\CLASSES\7-Zip.z\shell\open]
set ""=REG_SZ: ""
OpenKey [HKEY_LOCAL_MACHINE\SOFTWARE\CLASSES\7-Zip.z\shell]
set ""=REG_SZ: ""
 
			 
			
					
				Re: registry keys setzen
				Verfasst: 22 Aug 2013, 13:43
				von D1Ck3n
				Der Thread ist zwar ein wenig veraltet, aber ich habe ein aktuelles Problem dazu.
Ich möchte über den Opsi registry key setzen und hinzufügen. Das klappt auch soweit, aber wenn ich versuche in der registry IPV6 komplett zu deaktivieren setzt der den Key nicht.
Das ist mein setup.ins Skript:
Code: Alles auswählen
[Initial]
Message= Setzen der Gruppenrichtlinien
SetLogLevel=6
ExitOnError=false
ScriptErrorMessages=true
TraceMode=off
[Aktionen]
;Welche Windows-Version?
;DefVar $OS$
;Set $OS$ = GetMsVersionInfo
;if ($OS$ = "6.1") OR ($OS$ = "5.1")
;        Registry_TestPatch
;else
;        stop "Nicht unterstuetzte Windows-Version"
;        end
;endif
DosInAnIcon_Create
[DosInAnIcon_Create]
mkdir C:\\pA-Temp
mkdir C:\\pA-Spool
Registry_Add_User_Propertys
[Registry_Add_User_Propertys]
OpenKey [Software\Policies\Microsoft\Windows\WindowsUpdate]
set "ElevateNonAdmins"=reg_dword:00000001
set "WUServer"=REG_SZ:"http://192.168.0.110"
set "WUStatusServer"=REG_SZ:"http://192.168.0.110"
OpenKey [Software\Policies\Microsoft\Windows\WindowsUpdate\AU]
set "AUOptions"=reg_dword:00000100
set "ScheduledInstallTime"=reg_dword:00001010
set "ScheduledInstallDay"=reg_dword:00000000
set "UseWUServer"=reg_dword:00000001
set "NoAutoUpdate"=reg_dword:00000000
set "AutoInstallMinorUpdates"=reg_dword:00000001
set "DetectionFrequencyEnabled"=reg_dword:00000001
set "DetectionFrequency"=reg_dword:00010110
set "NoAutoRebootWithLoggedOnUsers"=reg_dword:00000001
OpenKey [System\CurrentControlSet\services\LanmanWorkstation\Parameters]
set "DomainCompatibilityMode"=reg_dword:00000001
set "DNSNameResolutionRequired"=reg_dword:00000000
OpenKey [System\CurrentControlSet\Services\TCPIP6\Parameters]
set "DisabledComponents"=reg_dword:0xffffffff
[Registry_Add_User_Propertys]
OpenKey [Software\pSAG\proalpha-client-produktion\5.2\proalpha]
set "Spooldir"=REG_SZ:"C:\pA-Spool"
Das ist der Part um den es sich dreht:
Code: Alles auswählen
OpenKey [System\CurrentControlSet\Services\TCPIP6\Parameters]
set "DisabledComponents"=reg_dword:0xffffffff
ich hoffe mir kann jemand helfen.
Gruß
D1Ck3n
 
			 
			
					
				Re: registry keys setzen
				Verfasst: 22 Aug 2013, 16:35
				von holgerv
				Code: Alles auswählen
[Actions]
registry_test
[registry_test]
openkey [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\TCPIP6\Parameters]
set "DisabledComponents"=reg_dword:0xffffffff
 funktioniert.
Evt. liegt der Fehler in Deinem Skript an dem weggelassenen "HKEY_LOCAL_MACHINE", Du kannst es ja mal ausprobieren.
Gruß
Holger
 
			 
			
					
				Re: registry keys setzen
				Verfasst: 22 Aug 2013, 17:39
				von heuft_kdi
				Das Skript hat aber noch mehr Fehler. Der Block Registry_Add_User_Propertys kommt zwei mal vor.
Er hat wahrscheinlich alles aus meinen Beispiel kopiert. Und da war es sinnvoll/notwendig, da der Block mit
 aufgerufen wurde (das /AllNTUserdats ist das entscheidende).
 
			 
			
					
				Re: registry keys setzen
				Verfasst: 23 Aug 2013, 09:28
				von D1Ck3n
				holgerv hat geschrieben:Code: Alles auswählen
[Actions]
registry_test
[registry_test]
openkey [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\TCPIP6\Parameters]
set "DisabledComponents"=reg_dword:0xffffffff
 funktioniert.
Evt. liegt der Fehler in Deinem Skript an dem weggelassenen "HKEY_LOCAL_MACHINE", Du kannst es ja mal ausprobieren.
Gruß
Holger
 
So hab ich das nun:
Code: Alles auswählen
[Aktionen]
Registry_Add_User_Propertys /AllNTUserdats
[...]
[Registry_Add_User_Propertys]
OpenKey [HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\TCPIP6\Parameters]
set "DisabledComponents"=reg_dword:0xffffffff
Aber der Key wird nicht gesetzt :/
heuft_kdi hat geschrieben:Das Skript hat aber noch mehr Fehler. Der Block Registry_Add_User_Propertys kommt zwei mal vor.
Er hat wahrscheinlich alles aus meinen Beispiel kopiert. Und da war es sinnvoll/notwendig, da der Block mit
 aufgerufen wurde (das /AllNTUserdats ist das entscheidende).
 
Ich habe es korrigiert, aber es funktioniert immer noch net 
