Dies scheint ein nicht allzu schwieriges Problem zu sein, und nach mehreren Hürden bin ich unglaublich nahe. Aber ich komme nicht ganz dahin.
Ich verwende Windows 7 im Development Shop. Ich möchte VS2010 verwenden, um an einigen Dingen zu arbeiten, die für eine Weile nicht veröffentlicht werden. Mein Chef sagte, kein Beta-Code auf der Produktionsmaschine, aber ich könnte VS2010 für dieses Projekt ausführen, wenn ich es in einer isolierten Umgebung wie einem virtuellen PC tun könnte.
Nun, ich habe die Beta und RC von Win7 schon einmal auf VPCs verwendet und es war aufgrund der VPC-Umgebung schmerzhaft langsam. Aber alle haben die Boot-to-VHD-Funktion von Windows 7 gelobt, bei der nur die Festplatte virtualisiert wird und Sie tatsächlich auf der Hardware ausgeführt werden. Angeblich etwas langsamer, aber bei weitem nicht in der Nähe der Geschwindigkeitsstrafe von VPC.
Ich habe ziemlich viel Zeit damit verbracht, alles so zu installieren, wie ich es möchte. Also dachte ich mir, ich klone einfach mein Systemlaufwerk mit Disk2VHD, starte davon und installiere dann VS2010 darauf. (Ich speichere die meisten meiner Benutzerdaten, einschließlich aller meiner Projekte, in einer separaten Partition, damit diese nicht dupliziert werden müssen und weiterhin verfügbar sind.)
Nun, ich hatte einige Schwierigkeiten damit, hauptsächlich aufgrund der Tatsache, dass ich eine alte Version von Disk2VHD verwendete - (holen Sie sich die neueste Version, wenn Sie es versuchen wollen.) Aber ich habe es endlich zum Booten gebracht. (Scott Hanselman hat einen guten Blog-Beitrag zum Booten von VHD).
Aber es war nicht genau das, was ich erwartet oder erhofft hatte. Was ich erwartet hatte, war, dass die virtuelle Festplatte zum Laufwerk C: wird und das ursprüngliche (physische) Laufwerk C: entweder versteckt oder unter einem anderen Buchstaben montiert und somit isoliert und vor Änderungen geschützt wird.
Was Sie tatsächlich erhalten, ist, dass die VHD zum D: -Laufwerk wird UND Sie vom D: -Laufwerk booten, ABER Ihr ursprüngliches C: -Laufwerk ist noch vorhanden. Was in Ordnung ist, AUSSER, dass die Registrierung auf der VHD ein Klon der Registrierung auf Laufwerk C: ist und viele fest codierte Verweise auf C: enthält. Das Ergebnis ist also, dass einige Dinge von D: (der VHD) kommen (und modifizieren), aber einige Dinge von (und modifizieren) C:. (Wenn Sie eine cmd-Eingabeaufforderung öffnen und ein SET ausführen, um Ihre Umgebungsvariablen anzuzeigen, wird eine Mischung aus D: \ und C: \ Pfaden angezeigt.) Ich habe also keine wirklich isolierte Umgebung. Am wichtigsten ist, dass% ProgramFiles% immer noch auf C: \ Programme gesetzt ist.
Was ich wirklich brauche, ist ein Tool, das auf die Registrierungsdateien auf der bereitgestellten VHD AS FILES zugreifen kann, nicht als Registrierungseinträge, und eine globale Suche und Ersetzung für alle C: \ in Zeichenfolgen in D: durchführen kann. Ich habe ein solches Programm nicht gefunden. (Ich habe versucht, dies mit einem Programm namens Registry Replace zu tun, aber selbst wenn Sie als Administrator ausgeführt werden, gibt es bestimmte Einträge, die Sie in der Registrierung nicht ändern können.)
Kennt jemand einen? Oder eine andere Lösung für mein Problem (außer mit einer sauberen VHD von vorne zu beginnen und Win7 und alle meine Programme darauf zu installieren)?