在XML文件更改中,我想將節點內容設置爲[MYPUBLICPROPERTY1]
,以便可以通過命令行將其傳入。 msiexec /i my.msi MYPUBLICPROPERTY1="Foo"
。但是,如果它沒有通過命令行傳入,我希望它是[INSTALLDIR]Sub\Path
。使用InstallShield 2010和基本MSI的動態屬性值
任何想法來實現這個結果?
在XML文件更改中,我想將節點內容設置爲[MYPUBLICPROPERTY1]
,以便可以通過命令行將其傳入。 msiexec /i my.msi MYPUBLICPROPERTY1="Foo"
。但是,如果它沒有通過命令行傳入,我希望它是[INSTALLDIR]Sub\Path
。使用InstallShield 2010和基本MSI的動態屬性值
任何想法來實現這個結果?
看看這個答案澄清您問題相關的一般的東西:How can I have a WiX Property default to null?
至於您的要求。在CostFinalize(已解決目錄)後使用自定義操作將MYPUBLICPROPERTY1設置爲[INSTALLDIR] Sub \ Path。如果已經通過命令行設置了屬性,那麼在自定義操作中包含邏輯不會覆蓋該屬性(只需讀取該屬性並檢查該屬性是否爲空)即可。 將物業留在物業表之外。如果在XML文件更改中使用它,我不確定Installshield是否會自動將它添加到屬性表中。如果是這樣,掃描以查看它是否被命令行覆蓋(在屬性表中添加默認的虛擬值),如果沒有,則將其設置爲您需要的目錄。如果這不可行,請中止安裝。