2010-04-14 5 views
1

J'ai un fichier msi que j'essaye d'installer dans un endroit autre que C: \ Program Files.Comment substituez ProgramFilesFolder dans un msi?

La table de répertoire indique que ProgramFilesFolder est utilisé comme répertoire d'installation par défaut. De la lecture this blog post Je comprends que ProgramFilesFolder est un répertoire standard si passer TARGETDIR comme une propriété à l'installateur ne changera pas l'emplacement d'installation même à travers la table de répertoire l'a comme parent de ProgramFilesFolder.

Comment puis-je remplacer l'emplacement d'installation? Je suis un novice total dans ce domaine.

Répondre

1

Avez-vous essayé en passant TARGETDIR sur la ligne de commande?

msiexec /i yourpackage.msi TARGETDIR="C:\Foo" 

En cas d'échec ci-dessus, ne savent pas si elle pourrait aider dans ce cas, mais j'ai utilisé un outil pour éditer les fichiers MSI avant, il a été appelé Orca, vous pouvez peut-être l'utiliser pour remplacer certains des paramètres MSI? Une autre possibilité consisterait peut-être à déterminer quelles sont les MSI d'entrée de registre qui permettent de savoir à quoi sert le dossier ProgramFiles et de modifier cette entrée avant d'exécuter votre MSI, puis de le modifier.

+0

Oui J'ai essayé de passer TARGETDIR sans effet. J'ai utilisé Orca pour regarder la table de répertoire dans le MSI et l'édition pourrait être une possibilité bien que ce soit un MSI de tierce partie et je suis inquiet que mes modifications puissent casser quelque chose. Je n'avais pas pensé à changer le registre, donc je pourrais y jeter un coup d'oeil. – Mark

0

Commencez par définir INSTALLDIR dans le dossier de votre choix.

Si cela ne semble pas faire quoi que ce soit, alors il est temps de jeter un coup d'œil à la table des composants et de voir quelles sont les valeurs de Directory_ pour ces enregistrements.

Questions connexes