2014-02-19 122 views
0

我有一個WIX安裝程序MSI。我想阻止它安裝在WIN XP上。 我用維克斯的InstallPrivileges屬性,但它並沒有解決我的問題: -防止在XP上安裝WIX安裝程序

<Package InstallerVersion="200" Platform="$(var.Platform)" InstallPrivileges="limited" /> 

我怎樣才能做到這一點?

回答

3

Priyanka,你走錯了方向。
InstallPrivileges屬性用於指定在Windows Vista及更高版本上安裝軟件包所需的權限。
默認情況下,Windows vista會運行大多數具有最低權限訪問權限的應用程序(非管理員),以試圖防止惡意病毒代碼和無經驗的最終用戶損壞系統。
limited and elevated value from InstallPrivileges屬性指定是否使用提升權限。
如果選擇有限公司安裝程序將無需管理員權限運行,如果你使用升高那麼你的安裝程序會詢問使用UAC prompt.This屬性管理員權限將被忽略,如果你在Windows XP上運行它(不知道)。
現在要完全阻止您的安裝程序在Windows XP上運行,那麼您需要使用VersionNT屬性,該屬性將檢測用戶操作系統的版本。

下面的示例演示瞭如何使用此屬性來阻止安裝的操作系統上的應用程序在Windows Vista之前/ Windows Server 2008的

<Condition Message="This application is only supported on Windows Vista, Windows Server 2008, or higher."> 
    <![CDATA[Installed OR (VersionNT >= 600)]]> 
</Condition> 

參考VersionNT values來選擇哪個操作系統要阻止您的安裝。
參考更多信息How To: Block Installation Based on OS Version

+0

您可以在中斷的對話框中添加一個條件,使其不顯示,但說實話,您正在獲得的行爲是標準和預期的行爲。 –

+0

與其他文章相同的問題 - 我從來沒有看到發佈條件拒絕發佈在歡迎頁面上顯示。你是運行MSI文件還是使用引導程序或其他? – PhilDW

+0

我不知道這是否直接由WiX支持。但是,您可以嘗試這種方法:如創建您的自定義操作,它將檢測操作系統信息和操作系統的位數。只需在InstallUISequence調用任何對話框之前安排自定義操作即可。並對要顯示的對話框/提示採取必要的操作。 – Nimish