我有一個應用程序的安裝程序,我在那裏使用一些定製。 在安裝時,我一直在使用一些自定義MSI屬性,如 DBHOST等來確定數據庫主機。如何在卸載時檢索MSI屬性的值?
而這個的默認值是localhost。
但我一直在安裝時通過命令行設置此DBHOST屬性與其他一些值(如192.168.1.3)。並且通過命令行設置的屬性安裝正常工作。
但是當我有在卸載時要執行的customation使用的
MsiGetProperty
功能,我得到了默認值(本地主機),而不是說我已經通過命令行而安裝設置的值(192.168.1.3)
Can任何人都可以幫助我。爲什麼發生這種情況? 是否需要執行其他任何操作才能在卸載時爲MSI屬性獲取相同的值?
在此先感謝...
但是,我們使用我們在安裝時設置的自定義值,得到了一些屬性的確切值,例如INSTALLDIR? 它是以註冊表搜索的相同方式完成的嗎? – JijeshKV
附加到安裝文件夾的屬性由Windows Installer存儲,因爲它們連接到包中的組件。對於像DBHOST這樣的獨立屬性,Windows Installer不提供緩存機制,在維護過程中使用安裝值的唯一方法是保存它,最簡單的位置是註冊表值,並且當包是再次啓動。 –
有沒有什麼地方可以看到MSI引擎正在緩存什麼MSI屬性,以便我不浪費時間爲他們做自己的邏輯?如果InstallShield MSI屬性也存在類似的資源,那就太棒了,因爲我無法弄清楚IS_SQLSERVER是否被緩存。 –