Seite 1 von 1

Preloginloader bei Neuinstallation doppelt installiert?

Verfasst: 30 Nov 2009, 08:35
von mr.quickly
Hallo,

mir ist aufgefallen, dass am Ende der Grundinstallation von Windows XP / 7 der Preloginloader installiert wird.

Was ich nicht verstehe ist, dass dieser dann noch mal auf Setup gestellt wird und dieser dann beim nächstes booten erneut installiert wird.

Gibt es dafür einen Grund? Muss das so sein?

Kann man ggf. per Registry abfragen ob Open SSL oder Visual C++ 2008 bereits installiert ist?

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\OpenSSL-0.9.8h-1_is1]
"DisplayVersion"="0.9.8h-1"

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{09298F26-A95C-31E2-9D95-2C60F586F075}]
"Version"=dword:0900521e

Re: Preloginloader bei Neuinstallation doppelt installiert?

Verfasst: 01 Dez 2009, 10:33
von mr.quickly
Habe mir erst mal beholfen indem ich die preloginloader.ins entsprechend erweitert habe:

Code: Alles auswählen

DefVar $ssl_inst_check$
DefVar $vc_redist_inst_check$

set $ssl_inst_check$ = GetRegistryStringValue ("[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\OpenSSL-0.9.8h-1_is1] DisplayName")
set $vc_redist_inst_check$ = GetRegistryStringValue ("[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{FF66E9F6-83E7-3A3E-AF14-8DE9A809A6A4}] DisplayName")


if ($ssl_inst_check$ = "")
Winbatch_GnuWin32OpenSSL
endif
	
	
if ($vc_redist_inst_check$ = "")
Winbatch_vc_redist
endif

Re: Preloginloader bei Neuinstallation doppelt installiert?

Verfasst: 01 Dez 2009, 10:37
von j.schneider
Hallo,

ja das hat einen Sinn.
Bei der 1.Installation ist der Opsi-Server u.U nicht erreichbar.
Daher wird der Preloginloader ein zweites mal installiert um den Client "ordentlich" zu registrieren.
In vielen Fällen ist die zweite Installation aber tatsächlich nicht notwendig.

Gruß
Jan Schneider

Re: Preloginloader bei Neuinstallation doppelt installiert?

Verfasst: 02 Dez 2009, 09:02
von mr.quickly
In vielen Fällen ist die zweite Installation aber tatsächlich nicht notwendig.
Können Sie denn bei der 1.Installation nicht prüfen ob der Opsi Server erreichbar ist, z.B. per ping oder so was?
Das würde für mich mehr Sinn ergeben und Zeit sparen.

Wenn der Server nicht erreichbar wäre würde der Client auch kein Netzwerk haben oder sehe ich das falsch?
Dann würde z.B. unserer eigens Script für unsere persönlichen Einstellungen auch nicht laufen, weil da auch Laufwerke während der Installation gemappt werden.

Re: Preloginloader bei Neuinstallation doppelt installiert?

Verfasst: 09 Dez 2009, 10:44
von mr.quickly
Habe das Ganze noch mal verfeinert. Ich setzt bei der Grundinstallation von Windows 7 folgenden Registry Key:

Code: Alles auswählen

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\opsi.org\preloginloader]
"pxe-installed"=dword:00000001
Dann prüfe ich einfach im Preloginload ab ob dieser Key existiert. Wenn ja, dann wird auch nicht installiert und der Key gelöscht (damit bei späteren Updates auch drüber installiert wird). Wenn er nicht drin steht oder nicht vorhanden ist wird installiert oder drüber installiert.

Code: Alles auswählen

DefVar $pxe_inst_check$
set $pxe_inst_check$ = GetRegistryStringValue ("[HKEY_LOCAL_MACHINE\SOFTWARE\opsi.org\preloginloader] pxe-installed")

if ($pxe_inst_check$ = "1")

	Registry_PXE_KeyLoeschen
	
else

;if not($INST_MinorOS$ = "Windows Vista") or ($INST_MinorOS$ = "WinXP") or ($INST_MinorOS$ = "Win2k"))
if not($INST_NTVersion$ >= "4")
	logError "Installation aborted: wrong OS version: only win2k and above alowed"
	;pause    "Installation aborted: wrong OS version: only win2k and above alowed"
	isFatalError
else

	if not (HasMinimumSpace ("%systemdrive%", "10 MB"))
		logError "Not enough space on drive %systemdrive% (we need 10 MB): Aborting"
		;pause    "Not enough space on drive %systemdrive% (we need 10 MB): Aborting"
		isFatalError
	else

;*********************************************************
		; set mode
		;*********************************************************
		
		Set $INST_Paramstr$=PARAMSTR
		
		; Modus normally set by commandline argument
		Set $INST_MODUS$=takestring(0,splitstring($INST_Paramstr$, ":"))
		Set $INST_SubModus$=takestring(1,splitstring($INST_Paramstr$, ":"))
		
		; old Modes are remaped for backward compatibility
		if $INST_MODUS$ = "LOCAL"
			Set $INST_MODUS$="INSTALL"
		endif
		if $INST_MODUS$ = "LOCAL_REINSTALL"
			Set $INST_MODUS$="INSTALL"
		endif
		if $INST_MODUS$ = "SERVICE_INTERACTIVE"
			Set $INST_MODUS$="INSTALL"
			Set $INST_SubModus$="CREATE_CLIENT"
		endif
		if $INST_MODUS$ = "TFTP"
			Set $INST_MODUS$="INSTALL"
			Set $INST_SubModus$="BOOTIMAGE"
		endif
		
		; default submode of INSTALL is CONFIG_INI
		if $INST_MODUS$ = "INSTALL"
			if $INST_SubModus$ = ""
				Set $INST_SubModus$="CONFIG_INI"
			endif
		endif
		
		; map Mode REMOTEDEPLOY
		if $INST_MODUS$ = "REMOTEDEPLOY"
			Set $INST_MODUS$="INSTALL"
			Set $INST_SubModus$="CONFIG_INI"
			Set $INST_AllowReboot$ = "false"
		endif
		
		; if no commandline argument we default to update
		if $INST_MODUS$ = ""
			Set $INST_MODUS$="UPDATE"
		endif
		
		if ($INST_MODUS$ = "UPDATE")
			if IniVar("forceConfigurationUpdate") = "on"
				Set $INST_MODUS$="INSTALL"
			endif
		;  Set $INST_SubModus$="CREATE_CLIENT"
		endif
		
		if $INST_SubModus$ = "BOOTIMAGE"
			; do not reboot in BOOTIMAGE mode because:
			;    preloginloader installation is part of the postinst.d mechanism
			;    if the machine reboots no script will run after the preloginloader script
			Set $INST_AllowReboot$ = "false"
		endif
		
		sub_read_configuration
		sub_copy_files
		sub_write_configuration
		sub_set_installation_status
		sub_clean_up
	 
		; all is done but make a reboot after terminating with the script
		if ($INST_AllowReboot$ = "true")
			ExitWindows /Reboot
		endif
	endif    ; diskspace
endif      ; correct OS Version

endif
Macht es nicht Sinn, dies in einer Neuen Version zu implementieren?

Re: Preloginloader bei Neuinstallation doppelt installiert?

Verfasst: 15 Jan 2010, 14:27
von mr.quickly
@Opsi Support

Wird das demnächst in eine neuere Version implementiert?

Ich habe das Problem noch nie gehabt das der Preloginloader nach der Grundinstallation bei Windows 7 nicht installiert war.
Bitte um Info. Dank im Voraus.