AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Delphi-PRAXiS - Lounge Betriebssysteme Win7: Virtualisierung austricksen?
Thema durchsuchen
Ansicht
Themen-Optionen

Win7: Virtualisierung austricksen?

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

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

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
 
#2

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

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#3

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
17.223 Beiträge
 
Delphi 10.4 Sydney
 
#4

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
 
#5

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
 
#6

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
Benutzerbild von Sir Rufo
Sir Rufo

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

AW: Win7: Virtualisierung austricksen?

  Alt 13. Sep 2010, 22:04
Ja, kann InnoSetup
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
generic

Registriert seit: 24. Mär 2004
Ort: bei Hannover
2.416 Beiträge
 
Delphi XE5 Professional
 
#8

AW: Win7: Virtualisierung austricksen?

  Alt 14. Sep 2010, 08:48
Wenn du auf einen neuen Installer ausweichst, dann empfehle ich dir einen zu nutzen, welcher auf dem Windows Installer basiert.
Hat viele Vorteile das Ding. Reparaturinstallationen, Transaktionen während der Installation, Patches und kann von Admins prima in Netzwerken verteilt werden.

Dafür gibt es auch kostenlose Tools, wie z.B. den WIX.
http://wix.sf.net

btw. ich kann mir nicht vorstellen, dass Installshield 2008 das nicht kann. Nutzt ihr es vielleicht falsch? Keine Pfadkonstanten genutzt (wenn es die dort gibt)?
Coding BOTT - Video Tutorials rund um das Programmieren - https://www.youtube.com/@codingbott
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.878 Beiträge
 
Delphi 11 Alexandria
 
#9

AW: Win7: Virtualisierung austricksen?

  Alt 14. Sep 2010, 08:49
Ich finde dies gerade ein Vorteil von innoSetup, dass es nicht auf MSI setzt!
Markus Kinzler
  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 14. Sep 2010, 08:55
btw. ich kann mir nicht vorstellen, dass Installshield 2008 das nicht kann. Nutzt ihr es vielleicht falsch? Keine Pfadkonstanten genutzt (wenn es die dort gibt)?
Für die Ursprungsdateien gibt es die nicht, nur für das Zielsystem.

BTW: wenn Innosetup den MSI nicht nutzt, wie funktionieren da Updates oder nachfolgende Versionen? Kann man da auch für jede Datei festlegen "nur ersetzen bei höherer Dateiversion", "nicht ersetzen wenn vorhanden", "mit Gewalt ersetzen"?
Denn das ist ja mit dem MSI durchaus komfortabel.

Grüße, Messie
  Mit Zitat antworten Zitat
Antwort Antwort


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 03:57 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