![]() |
Betriebssystem: Win XP
Temporäre Dateien Unterordner "2"
Hi,
im Rahmen eines Projektes baue ich mit Hilfe von WiX einen Installer. Während des Setup werden Dateien in einen Unterordner XYZ des Temp-Ordners des aktuellen Benutzers kopiert/entpackt (C:\Benutzer und Einstellungen\...\Lokale Einstellungen\Temp\XYZ) Das hat auf meiner lokalen Maschine (XP Prof SP3) auch super geklappt. Jetzt führe ich das Setup auf einer VM mit Windows Server 2003 aus und ich finde die Dateien beziehungsweise den Ordner XYZ nicht im Temp, sondern in Temp\2\. Also insgesamt in C:\Benutzer und Einstellungen\...\Lokale Einstellungen\Temp\2\XYZ Das will ich aber nicht, der Ordner soll im Temp-Ordner erstellt werden. Was hat es mit diesem Unterordner "2" auf sich? Denn da liegt nicht nur mein Zeug, sondern auch eine jusched.log, was ich dem Java-Updater zuordne. Hat jemand von euch damit mal Erfahrungen gemacht? Vielen Dank! |
AW: Temporäre Dateien Unterordner "2"
Bist du über Remotedesktop mit dem Server verbunden, oder sitzt du "vor der Konsole"?
Die Unterordner mit den Zahlen sind soviel ich weiß die Sitzungen im Terminalserver. Du kannst dich ja bei einem Terminalserver mehrmals als ein und derselbe Benutzer anmelden. Die hätten dann ja immer das gleiche Temp-Folder. So wird das aber umgangen und jede Sitzung hat ihr eigenes Temp-Verzeichnis. |
AW: Temporäre Dateien Unterordner "2"
Jap bin per Remote verbunden.
Super, das wusste ich gar nicht. Gibt es denn eine Möglichkeit, das in meinem Programm zu erkennen? Geht konkret um C#. |
AW: Temporäre Dateien Unterordner "2"
%windir%\system32\tsconfig.msc
> Temporäre Ordner beim Beenden löschen (Beenden der Sitzung) > Temporäre Ordner pro Sitzung verwenden (das sind die nummerierten Unterverzeichnisse) %TEMP% und die ganzen APIs, welche auf den Temp-Ordner verweisen, zeigen auf das Unterverzeichnis der Sitzung, in welcher sie laufen. (gib einfach mal
Delphi-Quellcode:
als Pfad in den Explorer ein, oder in das Programme durchsuchen des Startmenü)
%TEMP%
Zitat:
|
AW: Temporäre Dateien Unterordner "2"
Zitat:
Code:
tuts leider nicht, der ignoriert den Unterordner.
Path.GetTempPath()
Aber %TEMP% tuts, zumindest in der Pfadangabe des Explorer. Mal schauen, ob C# das ganze auch nimmt. |
AW: Temporäre Dateien Unterordner "2"
Ok C# tuts nicht...
Es ist echt zum heulen, zur Zeit scheint es mir so zu laufen: Ich bin per RDP verbunden, führe da per Doppelklick die MSI aus (also über das Konto des angemeldeten Benutzers = Administrator). Der Installer entpackt alles in den Unterordner des Temp-Ordners, der als Namen die Sitzungs-ID hat. Dann startet der Installer einen Bootstrapper, der diese Dateien sucht. Scheinbar wird dieser vom Installer mit einem anderen Konto gestartet, denn wenn ich in diesem Bootstrapper den Temp-Pfad ausgeben lasse, dann komme ich in den Temp-Ordner und NICHT in den Unterordner. Dementsprechend findet der Bootstrapper die Dateien nicht... Hat jemand ne Lösung parat? [Edit] Das Problem hat schonmal jemand gehabt: ![]() Nur ist seine Lösung nicht sehr zufriedenstellend. [Edit2] Langsam wirds komisch, laut Task-Manager wird der Bootstrapper unter der selben Benutzer-ID gestartet wie der Installer, müsste also den selben temporären Ordner zugewiesen bekommen. Scheinbar liegt es an der C#-Methode. [Edit3]
Code:
Alle drei zeigen nicht auf den Unterordner...ich verstehs nicht!
MessageBox.Show("USER:" + Environment.GetEnvironmentVariable("TEMP",EnvironmentVariableTarget.User));
MessageBox.Show("Process:" + Environment.GetEnvironmentVariable("TEMP", EnvironmentVariableTarget.Process)); MessageBox.Show("Machine:" + Environment.GetEnvironmentVariable("TEMP", EnvironmentVariableTarget.Machine)); |
AW: Temporäre Dateien Unterordner "2"
Bei mir:
Code:
alternativ könnte man halt noch
USER:C:\Users\<username>\AppData\Local\Temp
Process:C:\Users\<username>\AppData\Local\Temp\2 Machine:C:\Windows\TEMP
Code:
nehmen...
Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData) + "\\Temp"
|
AW: Temporäre Dateien Unterordner "2"
Zitat:
Wenn das Setup ihn startet, ergeben sich die vorher geposteten Pfade. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:13 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz