AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Delphi-PRAXiS - Lounge Betriebssysteme Win7: Virtualisierung austricksen?

Win7: Virtualisierung austricksen?

Ein Thema von messie · begonnen am 13. Sep 2010 · letzter Beitrag vom 14. Sep 2010
Antwort Antwort
Seite 1 von 3  1 23   
messie

Registriert seit: 2. Mär 2005
Ort: Göttingen
1.592 Beiträge
 
Delphi 2009 Professional
 
#1

Win7: Virtualisierung austricksen?

  Alt 13. Sep 2010, 16:36
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
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#2

AW: Win7: Virtualisierung austricksen?

  Alt 13. Sep 2010, 16:50
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.
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
Benutzerbild von jfheins
jfheins

Registriert seit: 10. Jun 2004
Ort: Garching (TUM)
4.500 Beiträge
 
#3

AW: Win7: Virtualisierung austricksen?

  Alt 13. Sep 2010, 16:52
Die "Eigenen Dateien" von früher heißen jetzt (eigene) Dokumente und sind standardmäßig unter "C:\Users\xyz\Documents" zu finden.
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#4

AW: Win7: Virtualisierung austricksen?

  Alt 13. Sep 2010, 17:05
Die "Eigenen Dateien" von früher heißen jetzt (eigene) Dokumente und sind standardmäßig unter "C:\Users\xyz\Documents" zu finden.
Das ist eigentlich so nicht richtig.

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.

function GetDirMyDocuments : string; // liefert den Pfad zu den Dokumeten
Angehängte Dateien
Dateityp: pas insSpecialFolders.pas (37,7 KB, 210x aufgerufen)
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
messie

Registriert seit: 2. Mär 2005
Ort: Göttingen
1.592 Beiträge
 
Delphi 2009 Professional
 
#5

AW: Win7: Virtualisierung austricksen?

  Alt 13. Sep 2010, 18:46
Danke,

ich habe da auch schon ein paar Routinen aber nichts so Edles, was Deinem GetDirList enspricht . 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.

Geändert von messie (13. Sep 2010 um 19:36 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#6

AW: Win7: Virtualisierung austricksen?

  Alt 13. Sep 2010, 20:01
Ok, dann.weiß ich jetzt warum ich auf InnoSetup umgestiegen bin.
Da sind relative Pfade kein Problem
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie
(Moderator)

Registriert seit: 29. Mai 2002
37.013 Beiträge
 
Delphi 2006 Professional
 
#7

AW: Win7: Virtualisierung austricksen?

  Alt 13. Sep 2010, 20:29
Such dir ein Setup welches die Pfade richtig ermittelt. Und lass den Mist mit irgendwelchen Workarounds.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
Ort: Oberreichenbach
16.396 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#8

AW: Win7: Virtualisierung austricksen?

  Alt 13. Sep 2010, 21:35
..., sondern im Installshield, was absolute Pfade gespeichert hat. ...
Da hast du entweder eine Uralt-Installshield-Version oder du verwendest Installshield falsch. IS dürfte auch schon seit Jahrzehnten die offiziellen WinAPI-Funktionen zur Bestimmung der entsprechenden Verzeichnisse verwenden.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
Benutzerbild von rollstuhlfahrer
rollstuhlfahrer

Registriert seit: 1. Aug 2007
Ort: Ludwigshafen am Rhein
1.529 Beiträge
 
Delphi 7 Professional
 
#9

AW: Win7: Virtualisierung austricksen?

  Alt 13. Sep 2010, 21:45
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
Bernhard
Iliacos intra muros peccatur et extra!

Geändert von rollstuhlfahrer (13. Sep 2010 um 21:46 Uhr) Grund: Smilies deaktiviert
  Mit Zitat antworten Zitat
messie

Registriert seit: 2. Mär 2005
Ort: Göttingen
1.592 Beiträge
 
Delphi 2009 Professional
 
#10

AW: Win7: Virtualisierung austricksen?

  Alt 13. Sep 2010, 21:58
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

Geändert von messie (14. Sep 2010 um 06:36 Uhr)
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 3  1 23   

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:10 Uhr.
Powered by vBulletin® Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2019 by Daniel R. Wolf