Seite 1 von 2

%ProfileDir% wird zu "\"

Verfasst: 23 Apr 2012, 21:01
von rkauskh
Hallo

Ich habe versucht in einer uninstall.ins mit

Code: Alles auswählen

[DosInAnIcon_list_profiledir]
	dir "%ProfileDir%" /b
versucht eine Stringliste der Userprofilverzeichnisse zu erzeugen, damit ich später bei jedem User ein Verzeichnis im Benutzerprofil löschen kann. Der Versuch schlägt fehl und im Log taucht folgendes auf:
  • Set $UserProfileNames$ = getOutStreamFromSection('DosInAnIcon_list_profiledir')
    [5] [23.04.2012 18:31:41]
    [5] [23.04.2012 18:31:41] Execution of DosInAnIcon_list_profiledir
    [6] [23.04.2012 18:31:41] c:\opsi.org\tmp\_winstbat_1.bat saved back
    [6] [23.04.2012 18:31:41] Executing "cmd.exe" /C "c:\opsi.org\tmp\_winstbat_1.bat"
    [6] [23.04.2012 18:31:41]
    [6] [23.04.2012 18:31:41] output:
    [6] [23.04.2012 18:31:41] --------------
    [6] [23.04.2012 18:31:41]
    [6] [23.04.2012 18:31:41] C:\WINDOWS\system32>dir "\" /b
    [6] [23.04.2012 18:31:41] AUTOEXEC.BAT
    [6] [23.04.2012 18:31:41] CONFIG.SYS
    [6] [23.04.2012 18:31:41] Dokumente und Einstellungen
    [6] [23.04.2012 18:31:41] opsi.org
    [6] [23.04.2012 18:31:41] Programme
    [6] [23.04.2012 18:31:41] tmp
    [6] [23.04.2012 18:31:41] WINDOWS
Warum wird %ProfileDir% in "\" aufgelöst? Da sollte doch eigentlich "C:\Dokumente und Einstellungen" stehen oder? Was mache ich da falsch?

MfG
Ralf

Re: %ProfileDir% wird zu "\"

Verfasst: 24 Apr 2012, 19:45
von d.oertel
Hi,

Um das nachzuvollziehen wüßte ich gerne:
Welches Windows / Architektur / Sprache / opsi-winst Version?

Danke

d.oertel

Re: %ProfileDir% wird zu "\"

Verfasst: 24 Apr 2012, 19:56
von rkauskh
Hallo

Der Client ist Windows XP 32bit deutsch (ohne irgendwelche Updates da mein erster Testrechner)
Winst-Version 4.11.2.5 Win32 (aus dem aktuellen VMWare image)

Re: %ProfileDir% wird zu "\"

Verfasst: 27 Apr 2012, 14:30
von rkauskh
Hallo

Auch nach vollständigem Windowsupdate hat sich am Verhalten nichts geändert. Das war's also nicht. Ich habe testweise mit dem IrfanView-Script weiterprobiert. Dort läuft die Installation durch, aber außer dem Silent-Schalter werden alle nachkommenden Schalter der Setupdatei ignoriert. Ist meine Testinstallation vermurkst und ich sollte nochmal bei Null starten? Oder sind die Scripte für die aktuelle opsi-Version nicht geeignet, da es Änderungen gab? Bin für jeden Hinweis dankbar.

Re: %ProfileDir% wird zu "\"

Verfasst: 27 Apr 2012, 16:47
von d.oertel
Hi,

ich kann das Problem nicht nachvollziehen.
Bei mir ergibt der opsi-winst-test Lauf mit dem code:

Code: Alles auswählen

	comment "Testing: "
	message "Testing constants: "+"%"+"ProfileDir" +"%"
	set $ConstTest$="%ProfileDir%"
	set $CompValue$ = "%SYSTEMDRIVE%"+takestring(1,splitString(GetRegistrystringvalue("[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList] ProfilesDirectory"),"%"+"SystemDrive"+"%"))
	
	if ($ConstTest$= $CompValue$)
		comment "passed"
	else
		set $TestResult$ = "not o.k."
		LogWarning "failed"
	endif
Den folgenden log

Code: Alles auswählen

[5] [26.04.2012 17:35:14]   comment: -------------------------------------
[5] [26.04.2012 17:35:14]   comment: Testing: 
[5] [26.04.2012 17:35:14]   message Testing constants: %ProfileDir%
[5] [26.04.2012 17:35:14]   
[5] [26.04.2012 17:35:14]   Set  $ConstTest$="C:\Dokumente und Einstellungen"
[6] [26.04.2012 17:35:14]     The value of the variable "$ConstTest$" is now: "C:\Dokumente und Einstellungen"
[5] [26.04.2012 17:35:14]   
[5] [26.04.2012 17:35:14]   Set  $CompValue$ = "C:"+takestring(1,splitString(GetRegistrystringvalue("[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList] ProfilesDirectory"),"%"+"SystemDrive"+"%"))
[8] [26.04.2012 17:35:14]   key0 = HKEY_LOCAL_MACHINE
[7] [26.04.2012 17:35:14]   Registry started with redirection (32 Bit)
[6] [26.04.2012 17:35:14]     Registry key [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList]  opened
[6] [26.04.2012 17:35:14]     Key closed
[6] [26.04.2012 17:35:14]       retrieving strings from splitString [switch to loglevel 7 for debugging]
[7] [26.04.2012 17:35:14]           (string   0)
[7] [26.04.2012 17:35:14]           (string   1)\Dokumente und Einstellungen
[7] [26.04.2012 17:35:14]           
[6] [26.04.2012 17:35:14]     The value of the variable "$CompValue$" is now: "C:\Dokumente und Einstellungen"
[5] [26.04.2012 17:35:14]   
[5] [26.04.2012 17:35:14]   If
[5] [26.04.2012 17:35:14]     $ConstTest$= $CompValue$   <<< result true
[5] [26.04.2012 17:35:14]     ($ConstTest$= $CompValue$)   <<< result true
[5] [26.04.2012 17:35:14]   Then
[5] [26.04.2012 17:35:14]     comment: passed
gruss
d.oertel

Re: %ProfileDir% wird zu "\"

Verfasst: 27 Apr 2012, 21:27
von rkauskh
Hallo

Ich habe ihren Code mal in eine neu erstellte test.ins kopiert und auf dem Testclient unter C:\Programme\opsi.org\opsi-client-agent\opsi-winst\ die winst32.exe gestartet. Dort dann die test.ins geladen und ausgeführt. Da kommt dann unter anderem raus:

Code: Alles auswählen

[5] [27.04.2012 21:22:01] message Testing constants: %ProfileDir%
[5] [27.04.2012 21:22:01] 
[5] [27.04.2012 21:22:01] Set  $ConstTest$="\"
[5] [27.04.2012 21:22:08] 
Ich bin mir ziemlich sicher, das der Fehler zwischen den Ohren sitzt, aber ich seh's einfach nicht.

Re: %ProfileDir% wird zu "\"

Verfasst: 30 Apr 2012, 10:50
von d.oertel
Hi,

was liefert denn bei Dir
%CommonDesktopDir%

Ich kenne nämlich keine Methode um %ProfileDir% direkt aus der API zu ermitteln.
Daher wird %ProfileDir% aus %CommonDesktopDir% 'geschätzt'.

gruss
d.oertel

Re: %ProfileDir% wird zu "\"

Verfasst: 30 Apr 2012, 11:57
von rkauskh
Hallo

%CommonDesktopDir% ist leer bzw. es kommt eine Fehlermeldung "Variable unbekannt".

Re: %ProfileDir% wird zu "\"

Verfasst: 30 Apr 2012, 12:09
von d.oertel
Hi,

Bitte nochmal winst-version überprüfen.

Steht ganz oben im log (bzw. im explorer rechte Maustaste/Eigenschaften.

gruss
d.oertel

Re: %ProfileDir% wird zu "\"

Verfasst: 30 Apr 2012, 13:09
von rkauskh
Hallo

In den Dateieigenschaften und oben im Log steht jeweils 4.11.2.5 Win 32. Im Konfigurationseditor zeigt er 4.11.2.5-1 als Paketversion. Ist es eigentlich normal, das im Konfigurationseditor opsi-winst nicht als installiert angezeigt wird?