Я занимаюсь разработкой установщика для приложения .net с использованием набора инструментов wix и хочу создать диалоговое окно интерфейса для обновления.
На данный момент у меня были диалоговые окна для интерфейса пользователя, использующие wix.Примерно так:
<Dialog Id="ResumeDlg" Width="370" Height="270" Title="QCStats Setup" NoMinimize="yes">
<Control Id="Install" Type="PushButton" X="236" Y="243" Width="56" Height="17" Default="yes" Text="[ButtonText_Install]">
<Publish Event="SpawnWaitDialog" Value="WaitForCostingDlg">CostingComplete = 1</Publish>
<Publish Event="EndDialog" Value="Return"><![CDATA[OutOfDiskSpace <> 1]]></Publish>
<Publish Event="SpawnDialog" Value="OutOfRbDiskDlg"><![CDATA[OutOfDiskSpace = 1 AND OutOfNoRbDiskSpace = 0 AND (PROMPTROLLBACKCOST="P" OR NOT PROMPTROLLBACKCOST)]]></Publish>
<Publish Event="EndDialog" Value="Return"><![CDATA[OutOfDiskSpace = 1 AND OutOfNoRbDiskSpace = 0 AND PROMPTROLLBACKCOST="D"]]></Publish>
<Publish Event="EnableRollback" Value="False"><![CDATA[OutOfDiskSpace = 1 AND OutOfNoRbDiskSpace = 0 AND PROMPTROLLBACKCOST="D"]]></Publish>
<Publish Event="SpawnDialog" Value="OutOfDiskDlg"><![CDATA[(OutOfDiskSpace = 1 AND OutOfNoRbDiskSpace = 1) OR (OutOfDiskSpace = 1 AND PROMPTROLLBACKCOST="F")]]></Publish>
</Control>
<Control Id="Cancel" Type="PushButton" X="304" Y="243" Width="56" Height="17" Cancel="yes" Text="[ButtonText_Cancel]">
<Publish Event="SpawnDialog" Value="CancelDlg">1</Publish>
</Control>
<Control Id="Bitmap" Type="Bitmap" X="0" Y="0" Width="370" Height="234" TabSkip="no" Text="[DialogBitmap]" />
<Control Id="Back" Type="PushButton" X="180" Y="243" Width="56" Height="17" Disabled="yes" Text="[ButtonText_Back]" />
<Control Id="Description" Type="Text" X="135" Y="70" Width="220" Height="30" Transparent="yes" NoPrefix="yes">
<Text>The Setup will complete the installation of QCStats on your computer. Click Install to continue or Cancel to exit the Setup.</Text>
</Control>
<Control Id="BottomLine" Type="Line" X="0" Y="234" Width="370" Height="0" />
<Control Id="Title" Type="Text" X="135" Y="20" Width="220" Height="60" Transparent="yes" NoPrefix="yes">
<Text>{\VerdanaBold13}Resuming the QCStats Setup</Text>
</Control>
</Dialog>
Что я хочу сделать?
Я хочу определить, установлена ли уже версия версии, и больше ли новая версия, чем текущая, чтобы показать обновлениедиалоговое окно с некоторыми параметрами (например, сохранить старую дату и удалить или не базу данных).
Я не хочу удалять старую версию и устанавливать новую без этого диалога.
Может быть, я могу что-то определить в этой InstallUISequence?
<InstallUISequence>
<Show Dialog="FatalError" OnExit="error" />
<Show Dialog="UserExit" OnExit="cancel" />
<Show Dialog="ExitDialog" OnExit="success" />
<Show Dialog="PrepareDlg" After="LaunchConditions" />
<Show Dialog="WelcomeDlg" After="MigrateFeatureStates">NOT Installed</Show>
<Show Dialog="ResumeDlg" After="WelcomeDlg">Installed AND (RESUME OR Preselected)</Show>
<Show Dialog="MaintenanceWelcomeDlg" After="ResumeDlg">Installed AND NOT RESUME AND NOT Preselected</Show>
<Show Dialog="ProgressDlg" After="MaintenanceWelcomeDlg" />
</InstallUISequence>
Кто-нибудь знает, как я могу это сделать или можно ли это сделать?
Спасибо,