2014-12-01 106 views
0

我組建了一個WiX的安裝程序,包括靜默安裝的DirectX 9:如何自動卸載DirectX 9?

dxsetup.exe /silent 

我如何告訴維克斯如何取消安裝DirectX?命令行上是否有另一個開關?

我需要能夠配置安裝程序自動卸載DirectX,否則用戶會抱怨他們無法卸載。

+0

您確定這樣做是安全嗎?如果用戶安裝了你的應用程序,然後安裝了另一個需要DirectX 9的應用程序,然後卸載你的應用程序,另一個應用程序會因爲你卸載了DirectX 9而中斷。一般來說,這樣的系統依賴關係(例如CRT,.NET運行時,等)由應用程序安裝,但從未卸載,因爲沒有系統來跟蹤系統上的所有依賴應用程序。 – MooseBoys 2014-12-02 01:46:56

+0

是的,你是對的。我只是試圖卸載DirectX,因爲用戶抱怨說有時我的應用程序不會卸載。我現在認爲這是由於其他因素造成的,而不是DirectX。我不會再這樣做! :o) – Pierre 2014-12-02 18:04:54

回答

1

對於DirectX最終用戶運行時間(又名DirectSetup或DXSETUP),長久以來建議您甚至不嘗試卸載它。

在任何情況下,在大多數Windows版本中,您無法「卸載」DirectX,並且運行DXSETUP實際上並沒有像安裝在操作系統中那樣「安裝DirectX」。它只能通過安裝新版本的操作系統,安裝Service Pack或應用Windows更新進行更新。這適用於從Windows XP Service Pack 2,Windows Server 2003 Service Pack 1和Windows XP x64 Edition開始的所有版本的Windows。

DXSETUP對於像傳統的D3DX9,D3DX10,D3DX11,XACTEngine,XAudio 2.7,XInput 1.3,D3DCompile#43或更早版本等等的部署仍然很有用。它只是不會安裝「DirectX」。

請參閱No So Direct Setup。如果在閱讀本文之後,您仍然認爲您需要在部署中運行DXSETUP,則應該選擇最新版本的DXSETUP以避免一些潛在的問題,並且trim it down僅適用於您的應用中實際使用的那些CABs

+0

好的,這是有道理的。我會一個人離開。我詢問的原因是因爲我使用的以前的安裝程序(InstallShield)沒有正確卸載,我認爲這是因爲DirectX。我已經切換到WiX,現在應用程序本身似乎正確卸載。不過,我對WiX有不同的問題(單獨發佈)。謝謝。 – Pierre 2014-12-02 14:57:36