2013-01-14 60 views
0

我在從快捷方式運行並使用基本UI添加/刪除程序的卸載序列期間顯示對話框時遇到問題。這似乎是跳過顯示過程中修改並安裝InstallUISequence:在卸載過程中顯示來自C#自定義操作的WiX對話框

<!--Displays uninstall options before uninstall progress dialog WixUI_InstallMode = "Remove"--> 
<InstallUISequence> 
    <Show Dialog="UninstallDialog" Before="ProgressDlg">WixUI_InstallMode = "Remove"</Show> 
</InstallUISequence> 

然而,重要的是我基本的卸載順序期間得到這個對話框運行也是如此。是否可以通過從InstallExecuteSequence運行的C#自定義操作來顯示在WiX中定義的對話框?如果是這樣,我將如何去做這件事?有沒有任何教程?我想要展示的對話框如下所示:

<!--Dialog used to obtain uninstall options from user--> 
<Dialog Id="UninstallDialog" Width="120" Height="100" Title="Options"> 
    <Control Id="DelDatabaseCheckBox" Type="CheckBox" 
      X="15" Y="10" Width="90" Height="17" Property="DELDATABASE" 
      CheckBoxValue="1" Text="Delete Database"/> 

    <Control Id="DelSettingsCheckBox" Type="CheckBox" 
      X="15" Y="30" Width="90" Height="17" Property="DELSETTINGS" 
      CheckBoxValue="1" Text="Delete Settings"/> 

    <Control Id="DelErrorLogCheckBox" Type="CheckBox" 
      X="15" Y="50" Width="90" Height="17" Property="DELERRORLOG" 
      CheckBoxValue="1" Text="Delete Error Log"/> 

    <Control Id="ConfirmUninstall" Type="PushButton" X="22" Y="75" Width="70" Height="17" Text="Ok"> 
     <Publish Event="EndDialog" Value="Return">1</Publish> 
    </Control> 
</Dialog> 
+0

可能的重複http://stackoverflow.com/questions/4838526/wix-launch-dialog-on-uninstall – BryanJ

+0

不,我完全理解它不會自己顯示UI。我提到過這個。這就是爲什麼我想強制它在我開發的c#定製期間顯示的原因,因爲我確信它在卸載期間正在運行。是否有一些命令可以用於會話來執行此操作? – user1410668

回答

5

你正在做的是一個反模式。相反,禁用「刪除」按鈕並強制用戶通過「更改」|刪除故事。你可以在那裏顯示本地的MSI UI。

+0

聽起來不錯。我將如何能夠做到這一點? – user1410668

+0

<資源ID = 「ARPNOREMOVE」> 1 http://msdn.microsoft.com/en-us/library/windows/desktop/aa367591(v=vs.85).aspx –

+0

用,雖然該問題是,它也正在禁用GUI中的刪除按鈕。 – user1410668