![]() |
Win7: Virtualisierung austricksen?
Moin,
beim Umstieg auf Win7 habe ich jetzt auch einige Dateien, die in "Eigene Dateien" , also C:\Dokumente und Einstellungen\Messie\Eigene Dateien... liegen. Die würde ich gerne weiter unter dem Pfad halten, die Virtualisierung verweigert das aber. Dateien unter C:\Benutzer werden mit den API-Abfragen "Eigene Dateien" scheinbar nicht gefunden. Ich wollte dann lieber selbst "Dokumente und Einstellungen" anlegen, aber da bekomme ich die Meldung, dass es die schon gibt. Es scheint also ein Verzeichnis "Dokumente und Einstellungen" zu geben. Kommt man da irgendwie dran? Grüße, Messie |
AW: Win7: Virtualisierung austricksen?
Wie der Pfad in Wirklichkeit heißt kann dir doch völlig schnuppe sein.
Lass Dir vom BS den Pfad zu den Dokumenten liefern, dass passt dann für jedes Windows-BS und du brauchst keinen Spagat zu machen. |
AW: Win7: Virtualisierung austricksen?
Die "Eigenen Dateien" von früher heißen jetzt (eigene) Dokumente und sind standardmäßig unter "C:\Users\xyz\Documents" zu finden.
|
AW: Win7: Virtualisierung austricksen?
Liste der Anhänge anzeigen (Anzahl: 1)
Zitat:
Richtig ist (für alle Windows-Versionen): Die Dokumente liegen in dem Special-Folder mit Namen "CSIDL_MYDOCUMENTS" Warum so? Weil man (der User) dieses auch umbiegen kann und dann befinden sich die Dokumente an einer Stelle, die nicht mehr vorhersehbar aber (wie man ja sieht) abfragbar ist. Entscheiden muss man immer selbst. Soll die Anwendung quasi immer funktionieren oder nur unter optimalen Bedingungen? Im Anhang eine Unit, womit man die SpecialFolders sehr einfach abrufen kann.
Delphi-Quellcode:
function GetDirMyDocuments : string; // liefert den Pfad zu den Dokumeten
|
AW: Win7: Virtualisierung austricksen?
Danke,
ich habe da auch schon ein paar Routinen aber nichts so Edles, was Deinem GetDirList enspricht :thumb:. Das habe ich gleich mal verwendet und habe mir die Pfade anzeigen lassen. Das Problem bestätigt sich: der alte Ordner "Eigene Dateien" (Personal) ist unter XP "C:\Dokumente und Einstellungen\Messie\Eigene Dateien" ist bei Win7 "C:\Users\Messie\Documents". Nun liegt das Problem nicht in einer Software von mir, die relative Pfade wie Personal nutzt, sondern im Installshield, was absolute Pfade gespeichert hat. Und den Pfad "Dokumente und Einstellungen" kann wohl ich nicht anlegen, weil Win7 den selbst benutzt. Das heißt, "Dokumente und Einstellungen" (oder was auch immer nach dem internen XP-Redirect dahinter steht) müsste auch auf der Festplatte stehen. Wäre mal spannend, eine solche Platte in ein XP-System zu nehmen und sehen, was da wirklich steht. Mein Problem bleibt erhalten: ich kann die absoluten Pfade von XP nicht unter Win7 reproduzieren und meine Installshield-Projekte wären damit Schrott :(. Grüße, Messie Edit: das Redirect führt auf "Documents and Settings" und scheint bei Win7 auch noch dazusein. Denn unter XP pro englisch kann ich sehr wohl einen Ordner "C:\Dokumente und Einstellungen" anlegen, nicht aber unter Win7 deutsch. |
AW: Win7: Virtualisierung austricksen?
Ok, dann.weiß ich jetzt warum ich auf InnoSetup umgestiegen bin.
Da sind relative Pfade kein Problem |
AW: Win7: Virtualisierung austricksen?
Such dir ein Setup welches die Pfade richtig ermittelt. Und lass den Mist mit irgendwelchen Workarounds.
|
AW: Win7: Virtualisierung austricksen?
Zitat:
|
AW: Win7: Virtualisierung austricksen?
selbstverständlich solltest du mit Hilfe der Kommandozeile (cmd) den Ordner "C:\Dokumente und Einstellungen\" erstellen können. Der Explorer wird dann nur damit nicht klar kommen und ihn im schlimmsten Fall 2x anzeigen.
Windows 7 hat als Grundstruktur C:\Users\ und da sollen alle benutzerbezogenen Daten rein. Damit man nicht für jede Sprache Teile von Windows neu kompilieren muss, hat MS sich was tolles einfallen lassen: Überall werden die englischen Namen verwendet und in der jeweiligen Desktop.ini steht dann drinnen, wie der Explorer diesen Ordner anzuzeigen hat. Heißt: Den Ordner, auf den du zugreifst existiert gar nicht, du kannst es aber trotzdem. Genauso verhällt es sich mit Programme zu Program Files. Das eine wird angezeigt, letzteres existiert. Ob man das jetzt gut heißen will oder nicht: Man muss sich damit abfinden. Und wenn der Installer jetzt auf "C:\Dokumente und Einstellungen" eingefahren ist, gehört er entfernt. Was ist denn mit denen, die Windows nicht auf C: sondern auf D: haben? - Geht ganz einfach (Win XP, eigene Erfahrung). Bei der Installation unabsichtlich nen USB-Stick stecken lassen und schon ist der USB-Stick C: und Windows findet sich auf D: wieder. Folglich gibt es sogar Systeme, die ohne C: auskommen. Wie willst du diesen Nutzern klar machen, dass die Windows auf C: haben müssen, nur weil dein Installer mit was anderem nicht zurecht kommt? In Fachzeitschriften wird unter dem Stichwort SSD dazu geraten, die persönlichen Daten auf eine Scheibenfestplatte nach D: zu schreiben (auch die Profile dahin umziehen), damit die nicht auf der SSD liegen (C:). Spätestens da wirst du deinem Installer sagen müssen, dass Eigene Dateien eben ein variabler Pfad ist. Bernhard |
AW: Win7: Virtualisierung austricksen?
Moin,
ob andere Setup-Umgebungen das besser können, weiß ich noch nicht. Ich werde Installshield auch irgendwann kicken. Die absoluten Pfade betreffen aber nicht die Installation, sondern sind die absoluten Pfade der Ursprungsdateien, die relativ zu installieren sind. Ich verwende derzeit noch Installshield 2008, was in Sachen Installation (also Ziel) durchaus brauchbar ist. Ob Innosetup auch die Ursprungspfade der Dateien im Setup relativ behandeln kann, ist mir nicht bekannt. Grüße, Messie |
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:10 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