Ändern des Zielspeicherorts für ein Verzeichnis
Wenn möglich, ist die beste Möglichkeit, den Zielspeicherort für ein Verzeichnis anzugeben, das Erstellen der Verzeichnistabelle in Ihrem Installationspaket, um den richtigen Speicherort anzugeben. Weitere Informationen finden Sie unter Verwenden der Verzeichnistabelle.
Wenn Sie den Verzeichnisspeicherort zum Zeitpunkt der Installation ändern müssen, haben Sie die folgenden Optionen:
- Geben Sie den Speicherort eines Verzeichnisses an, indem Sie den Wert einer öffentlichen Eigenschaft in der Befehlszeile festlegen. Während der CostFinalize-Aktionwerden die internen Verzeichnispfade, die vom Installationsprogramm verwendet werden, auf den Wert der Eigenschaften aktualisiert, die als Schlüssel in der Verzeichnistabelle aufgeführt sind. Weitere Informationen finden Sie unter Verwenden von Eigenschaften und Festlegen öffentlicher Eigenschaftswerte in der Befehlszeile.
- Geben Sie den Speicherort eines Verzeichnisses mithilfe einer benutzerdefinierten Aktion an. Wenn die benutzerdefinierte Aktion vor der Aktion CostFinalizeausgeführt werden soll, können Sie mit dem benutzerdefinierten Aktionstyp 51 den Wert einer Eigenschaft aus einer formatierten Textzeichenfolge festlegen. Wenn die benutzerdefinierte Aktion nach der Aktion CostFinalizeausgeführt wird, können Sie den Wert des Verzeichnispfads mithilfe des benutzerdefinierten Aktionstyps 35 aus einer formatierten Textzeichenfolge festlegen. Benutzerdefinierte Aktionen, die eine der Eigenschaften des Systemordners ändern, sollten sowohl in den Ausführungssequenztabellen (InstallExecuteSequence Table oder AdminExecuteSequence Table) als auch in den Sequenztabellen der Benutzeroberfläche (InstallUISequence Table und AdminUISequence Table) enthalten sein, damit der Ordner sowohl während der vollständigen Installation der Benutzeroberfläche als auch bei grundlegenden Ui-Installationen geändert wird.
- Wenn bei der Installation eine vollständigeBenutzeroberfläche ausgeführt wird, können Sie msiSetTargetPath oder SetTargetPath ControlEvent verwenden, um den Verzeichnispfad zu festlegen. Überprüfen Sie die ProductState-Eigenschaft, um zu ermitteln, ob das Produkt, das diese Komponente enthält, bereits installiert ist, bevor Sie MsiSetTargetPath oder SetTargetPath ControlEvent aufrufen. Versuchen Sie nicht, den Zielverzeichnispfad zu ändern, wenn einige Komponenten, die diesen Pfad verwenden, bereits für den aktuellen Benutzer oder einen anderen Benutzer installiert sind.
Die folgenden Einschränkungen gelten für alle oben genannten Optionen:
- Versuchen Sie nicht, den Zielverzeichnispfad zu ändern, wenn einige Komponenten, die den Pfad verwenden, bereits für den aktuellen Benutzer oder für einen anderen Benutzer installiert sind.
- Versuchen Sie nicht, den Zielverzeichnispfad während einer Wartungsinstallation zu ändern.