Как создать диалоговое окно для обновления с помощью установщика wix - PullRequest
0 голосов
/ 18 февраля 2019

Я занимаюсь разработкой установщика для приложения .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>

Кто-нибудь знает, как я могу это сделать или можно ли это сделать?

Спасибо,

...