2013-10-08 63 views
0

假設我用一個目錄名作爲如何改變運行時的屬性維克斯

<Property Id="PROJECTNAME"> xyz </Property> 

<Directory Id="Hello" Name=[PROJECTNAME]> 

而且我想在運行安裝程序的時間來改變目錄名。

目錄名稱應該從命令行傳遞或從文件中讀取。

任何建議將有所幫助。

在此先感謝, Pradeep庫馬爾。

回答

0

這裏有兩種情況:

  1. 參數是通過命令行通過。

    這裏您可以使用MSI包的功能,並將您的參數作爲屬性傳遞給例如REALINSTALLDIRECTORY =「C:\ Install」。

  2. 參數通過文件傳遞。

    您應該執行自定義操作,將讀取該文件的價值,並設置REALINSTALLDIRECTORY財產。

這之後您可以使用自定義操作來明確設置的目錄:

<CustomAction Id="SetDirectoryToValue" Directory="Hello" Value="[REALINSTALLDIRECTORY]" /> 

該自定義動作這樣執行:

<InstallExecuteSequence> 
    <Custom Action="SetDirectoryToValue" After="CostFinalize" /> 
</InstallExecuteSequence>