2010-07-21 69 views
3

我想知道是否可以在我的歡迎屏幕上顯示「取消」按鈕完全退出安裝程序而不顯示最終的「安裝中斷」對話框。當用戶還沒有開始安裝時,我認爲這是多餘的。在不顯示「安裝中斷」對話框的情況下取消MSI

如果用戶取消安裝已經啓動,但是如果安裝尚未啓動(如果取消按鈕打在歡迎頁面上,則仍然如此),我仍希望顯示該對話框屏幕)。

我已經嘗試了各種各樣的東西,但是我對Windows安裝程序如何工作以瞭解解決方案缺乏正確的理解。

更新:得到它的工作!我最終使用了兩個建議的組合 - 我希望我可以給你兩個答案,但我會給它光線,因爲他有最低的代表。但我會讓他們兩個都高興。下面是我如何做的(我仍然感到驚訝)

我使用Publish元素作爲射線建議,但不是調用事件(沒有事件稱爲「完成」),我設置了一個屬性「 AbortInstall」到1

<Publish Dialog="SimpleDlg" 
        Control="Cancel" 
        Property="AbortInstall" 
        Value="1">1</Publish> 

我下維克斯/片段/ UI我的自定義設置文件WixUI_Simple.wxs這樣做

然後,裏面UserExit.wxs我修改了InstallUISequence如下:

<InstallUISequence> 
      <Show Dialog="Simple_UserExit" 
        OnExit="cancel">NOT AbortInstall = 1</Show> 
     </InstallUISequence> 

......這是克里斯托弗建議的想法。

感謝你們倆!

+0

很高興我能幫忙:) – 2010-07-24 21:53:43

回答

1

我還沒有測試過,所以它可能不會在半點工作,但到底是什麼。

你或許可以創建一個取消按鈕控制的WelcomeDlg發佈元素,像這樣:

<Publish Dialog="WelcomeDlg" Control="Cancel" Event="Finish" Value="Exit">1</Publish> 

讓我知道如何去:)

3

你InstallUISequence表看看:

http://msdn.microsoft.com/en-us/library/aa369543(VS.85).aspx

通知的特殊對話爲-1的序列,-2和-3。注意你也可以在對話框中添加一個條件。有了一點創造力,你可以使用一個屬性作爲標誌來確定你的安裝是否真正開始,並防止或顯示有問題的對話框。

1

僅供參考&樂趣。
如何到隱藏退出對話框
在您的自定義WixUI_xxxxx。WXS<UI>標籤的地方

<Product>標籤插入:

<Property Id="ExitSuccess" Value="1" /> 

而且

<InstallUISequence> 
    <Show Dialog="MyNewDlg" After="SomeAction">Installed</Show> 
    <Show Dialog="ExitDialog" OnExit="success">NOT ExitSuccess = 1</Show> 
</InstallUISequence> 

這就是全部。

相關問題