2010-06-17 6 views
0

J'essaye de déployer une application sur Windows Server 2008 (SP2 x64) et Windows 7 (x64), en utilisant le projet d'installation VS2005. La version MSI (je pense) c'est la 2.0. Tout fonctionne correctement, sauf que certaines clés de registre et certains fichiers ne sont pas copiés sur l'ordinateur d'installation. Le système MSI ne signale rien (et je ne sais pas si MSI enregistre ses opérations).Échecs de fichier/registre MSI sous Windows Server 2008/Windows 7 (x64)

Y a-t-il des incompatibilités entre mon projet d'installation MSI et ces nouveaux systèmes d'exploitation? Il me semble que les systèmes d'exploitation se protègent pour être modifiés dans une certaine mesure.

Par exemple, je suis en train de définir les clés de Registre:

HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Windows NT \ Winlogon \ SpecialAccounts \ UserList \ User

mais il est pas créé . Dans le même programme d'installation, il existe de nombreuses autres clés, qui sont créées comme prévu (comme c'était le cas auparavant sur Windows XP et Windows Server 2003).

Pour donner un autre exemple, je suis en train d'installer le fichier

% SystemFolder% \ oobe \ informations \ origines \ backgroundDefault.jpg

(où% SystemFolder% est généralement " C: \ Windows \ System32 "), mais le fichier n'est pas copié du tout !!!

Que se passe-t-il?


J'ai trouvé le fichier backgroundDefault.jpg se trouve dans un autre répertoire:% SystemRoot% \ SysWOW64 \ oobe \ informations.

Mais je n'ai rien spécifié sur un dossier System (64 bits). Comment puis-je copier le fichier au bon endroit?

+0

Il n'y a pas de conditions pour installer ces composants. – Luca

Répondre

1

Tout d'abord, en ce qui concerne l'enregistrement, vous pouvez demander MSI pour créer un fichier journal de ses opérations comme celui-ci:

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

Cela va créer un fichier journal appelé logfile.txt. Deuxièmement, il semble que vous créiez un fichier MSI 32 bits et que vous l'exécutiez sous Windows 64 bits. Il n'y a rien de mal à cela, mais sachez que Windows utilise file system redirection. Windows possède un SystemFolder distinct et des clés HKLM/SOFTWARE pour héberger les applications 32 bits. Si vous regardez dans le registre de HKLM/SOFTWARE, vous verrez probablement une sous-clé appelée Wow6432Node - c'est ici que les applications 32 bits écrivent leurs données de registre.

+0

Système de fichiers est sûrement redirigé (je ne savais pas à ce sujet!), Mais probablement même le registre a le même comportement. Demain, je vais vérifier pour confirmer – Luca

+0

Plus sur le redirecteur du Registre: http://msdn.microsoft.com/en-us/library/ms724072(VS.85).aspx –

Questions connexes