2010-11-04 19 views
0

J'essaie d'utiliser un installateur wix 32 bits pour installer dans le répertoire powershell c: \ windows \ ???? \ windowspowershell \ v1.0Wix essayant d'installer un script ps1 à la fois le répertoire system32 et syswow64

i ont codé en dur le répertoire 32bit

et je suis en train de lire le registre de retourner l'emplacement 64 bits.

tout fonctionne très bien sur une machine 32 bits, le registre est lu avec la valeur correcte et le fichier est installé à l'endroit correct.

Toutefois, lors de l'exécution sur une machine 64 bits (serveur 2008 R2), le registre récupère l'emplacement 64 bits correct mais mon emplacement codé en dur 32 bits est remplacé par la valeur de registre 64 bits.

Que se passe-t-il?

est-il une meilleure façon de le faire?

ce que j'ai est un seul script ps1 qui doit être installé dans le répertoire de Powershell, s'il y a un 64 bits et 32 ​​répertoire bit le même fichier doit être copié dans les deux endroits

grâce

James

Répondre

2

Windows Installer a été conçu pour être spécifique à la plate-forme. Les packages X86 peuvent uniquement écrire sur des emplacements X86 et les packages X64 ne peuvent écrire que sur des emplacements X64. Il y a des hacks qui vous permettent de contourner cela mais ils ne sont pas supportés. La solution Microsoft officielle consiste à créer plusieurs fichiers MSI et à utiliser un programme d'amorçage pour les enchaîner (moche), mais vous pouvez également utiliser une action personnalisée pour copier le fichier dans l'emplacement secondaire. Désolé, pas de bonnes solutions sur celui-ci IMO.

+0

Merci pour cela, je pensais que c'était ce qu'il faisait mais avait besoin confirmé. pensé que je devenais fou – semaj