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:
http://stackoverflow.com/questions/6...ion-tempfolder
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:
MessageBox.Show("USER:" + Environment.GetEnvironmentVariable("TEMP",EnvironmentVariableTarget.User));
MessageBox.Show("Process:" + Environment.GetEnvironmentVariable("TEMP", EnvironmentVariableTarget.Process));
MessageBox.Show("Machine:" + Environment.GetEnvironmentVariable("TEMP", EnvironmentVariableTarget.Machine));
Alle drei zeigen nicht auf den Unterordner...ich verstehs nicht!
Philipp F.