2014-09-30 42 views
0

我現在正在搜索如何獲得已安裝(產品)的targetdir msi軟件包。如何在安裝MSI軟件包後檢索[TARGETDIR]或[安裝時間時的USER INPUT DIR]?

有時用戶在安裝時輸入目標目錄。我想要這個目錄。

但我無法在註冊表中找到目標目錄。

我試過像這樣。

MsiOpenPackage ... C:\的Windows \安裝\ * MSI

MsiGetTargetPath ...(H,_T( 「TARGETDIR」),T,& S);

所有枚舉組件和MsiGetComponentPath返回特定的文件。但我無法選擇哪一個是TARGET-DIR路徑。

所有...沒有工作。

我想幫忙。

回答

0

在安裝過程中(顯然在選擇之後),MSI必須將ARPINSTALLLOCATION屬性設置爲像TARGETDIR這樣的主應用程序目錄。這就是API的工作原理,特別是MsiGetProductInfo({ProductCode},... INSTALLPROPERTY_INSTALLLOCATION ...)

並非所有的設置都會這樣做。

這會在卸載註冊表項中以InstallLocation結尾。

+0

謝謝,但基本上我收集了INSTALLPROPERTY_INSTALLLOCATION。一些軟件不寫這些信息。所以我找不到...... T – 2014-10-02 07:36:28

+0

這就是我說的,對,如果他們不這樣做,那麼他們不這樣做。所以最簡單的答案就是你無法獲得所有軟件的所有軟件,所以如果他們不這樣做的話,你的運氣不好。沒關係,因爲你不知道甚至有一個targettdir。安裝到GAC和公用文件的產品在「targetdir」中沒有任何內容。你試圖解決什麼問題,以及爲什麼找到targetdirs的幫助,因爲並非所有的設置記錄它或沒有主要的應用程序目錄。 – PhilDW 2014-10-02 19:10:58

相關問題