Frage

Ich versuche, eine Anwendung auf Windows Server 2008 (SP2 x64) und Windows 7 (x64) bereitstellen, mit VS2005 Installer-Projekt. Die MSI-Version (glaube ich) es die 2.0.

Alles funktioniert gut, außer dass einige Registrierungsschlüssel und einige Dateien auf dem Rechner installiert wird nicht kopiert. Das MSI-System nicht benachrichtigt über nichts (und ich weiß nicht, ob MSI seine Operationen protokolliert).

Gibt es Inkompatibilitäten zwischen meinem MSI-Installer-Projekt und diese neuen OSes? Es scheint mir, dass das Betriebssystem schützt sich in einem Teil geändert werden.

Zum Beispiel, ich versuche, die Registrierungsschlüssel festlegen:

  

HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Windows NT \ WinLogon \ Special \ Userlist \ Benutzer

, aber es wird nicht erstellt. Im gleichen Installer gibt es viele andere Tasten, die wie erwartet erstellt werden (wie sie immer, bevor sie auf Windows XP und Windows Server taten 2003).

ein weiteres Beispiel zu liefern, ich versuche, die Datei

installieren
  

% Systemfolder% \ oobe \ info \ backgrounds \ backgroundDefault.jpg

(wobei% Systemfolder% ist in der Regel "C: \ Windows \ System32"), aber die Datei kopiert wird nicht bei allen !!!

Was ist los?


Ich habe die backgroundDefault.jpg gefundene Datei in einem anderen Verzeichnis befindet.% SystemRoot% \ SysWOW64 \ oobe \ info

Aber ich habe nichts über ein System (64-Bit) Ordner angegeben. Wie kann ich kopieren Sie die Datei an der richtigen Stelle?

War es hilfreich?

Lösung

Zuerst in Bezug auf die Protokollierung, Sie können MSI fordern Sie eine Protokolldatei ihrer Operationen wie diese zu erstellen:

msiexec.exe -i my_msi_file.msi -l*vx logfile.txt

Das wird eine Protokolldatei erstellen genannt logfile.txt.

Zweitens, es klingt wie Sie erstellen eine 32-Bit-MSI und es in 64-Bit-Windows ausgeführt wird. Es ist nichts falsch mit diesem, aber beachten Sie, dass Windows verwendet Dateisystem Umleitung . Windows verfügt über einen separaten Systemfolder und HKLM / SOFTWARE Schlüssel zur Host-32-Bit-Anwendungen. Wenn Sie in der Registry unter HKLM / SOFTWARE aussehen werden Sie wahrscheinlich einen Unterschlüssel namens Wow6432Node sehen -. Das ist, wo 32-Bit-Anwendungen ihre Registrierungsdaten schreiben

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top