2013-08-05 69 views

回答

0

可以使用Windows資源管理器檢查所有文件:右鍵單擊»屬性,然後選擇Verison或Details。它可能不是決定性的。默認情況下,使用WiX構建的Windows Installer程序包指示在使用Windows資源管理器可查看的屬性中。要完全訪問Windows Installer軟件包,可以使用Windows SDK或InstMSI等Orca。如果存在自定義操作二進制文件,則可以提取這些文件(如DLL)並檢查它們。自定義操作也可以對屬性或自定義表使用某些命名約定。例如,WiX對某些屬性名稱使用WIX _...。同樣,對話框可能有可識別的名稱或控件佈局。

對於可執行文件,請嘗試CFF資源管理器或UniExtractor。另外,the.exe /?可能只是告訴你。

但是,通常沒有規範或實際要求安裝程序構建器或運行時應該是可識別的。

+0

是的,有一個規範和我知道的所有工具填充它。他們不會錯過提升自我的機會。 –

+0

對於Windows Installer程序包也是如此,並且如果填充了_is_ Windows資源管理器顯示的信息。但是,問題不僅限於Windows Installer。無論如何,使用Windows資源管理器進行快速檢查應提供產品用於有意指明安裝程序生產軟件的任何信息。 –

+0

對不起,我在問題和標籤上看了太多關注Windows Installer的內容。 –

1

Windows安裝程序規範涵蓋了這一點:

Creating Application Summary property

ORCA不會顯示這個領域的一些原因,但一個代碼片段迅速揭示它:

using Microsoft.Deployment.WindowsInstaller; 
foreach (string file in Directory.GetFiles(@"C:\windows\installer", "*.msi", SearchOption.TopDirectoryOnly)) 
{ 
    using (Database database = new Database(file, DatabaseOpenMode.ReadOnly)) 
    { 
    Console.WriteLine("{0} : {1}", database.ExecutePropertyQuery("ProductName"), database.SummaryInfo.CreatingApp); 
    }     
} 

返回有趣的結果。 ..

+0

這很有趣。我有大約十幾個Windows Installer軟件包,它們的創建者是「Windows Installer」。從字面上看,這看起來不太可能,但恰巧是Visual Studio Installer(VS 2010)所使用的價值。 –

+1

是的,例如ORCA.msi就是這樣說的。請記住,Windows Installer是作爲平臺服務和SDK啓動的。如果你足夠瘋狂,SDK包含足夠的實用程序和腳本來實際創建MSI數據庫。 :)這些工具用於創建SDK附帶的ORCA.msi。這些實用程序將MSI標記爲「Windows Installer」。應該指出的是,除了WiX之外,微軟還開發了許多工具。所有這些工具可能會編寫「Windows Installer」以隱藏它們的存在。 –