2009-08-18 2 views
1

Я пишу установщик с EULA, а затем диалоговое окно, чтобы спросить, хотят ли они выполнить «пользовательскую установку» или «установить по умолчанию».Install Sequence

Если они выбирают пользовательские, они получают кучу диалогов, относящихся к настройкам SQL (как показано ниже со следующей кнопкой, запускающей диалог «StartupMenu», если они выбрали выборочную установку).

Если они выбирают по умолчанию, установщик должен перейти на стадию установки и не задавать больше вопросов. Как мне это сделать?

Моя следующая кнопка определяется как это,

<Control Id="Next" Type="PushButton" X="236" Y="243" Width="56" Height="17" Disabled="no" Text="Next" > 
    <Publish Event="NewDialog" Value="StartupMenu" >CUSTOMINSTALL = 1</Publish> 
    <Publish Event="EndDialog" Value="Return">CUSTOMINSTALL = 0</Publish> 
</Control> 

Когда CUSTOMINSTALL = 1 это хорошо, но это следующая строка, то, что я должен поставить с CUSTOMINSTALL = 0, чтобы сделать его прямо этап установки?

ответ

0

обновленная информация об этом. Я обнаружил, что первый вопрос был с моей InstallUISequence столом, я должен был сделать это так,

<InstallUISequence> 
    <Custom Action="CreateConnectionStrings" After="ExecuteAction">NOT Installed</Custom> 
    <Show Dialog="CustomInstall" After="WelcomeEulaDlg" >NOT Installed</Show> 
    <Show Dialog="StartupMenu" After="CustomInstall" >NOT Installed and CUSTOMINSTALL = 1</Show> 
    <Show Dialog="iCalibraDatabaseSelection" After="StartupMenu">NOT Installed and CUSTOMINSTALL = 1</Show> 
    <Show Dialog="GlobalStoreDatabaseSelection" After="iCalibraDatabaseSelection">NOT Installed and CUSTOMINSTALL = 1</Show> 
</InstallUISequence> 

Обратите внимание, что на StartUpMenu, iCalibraDatabaseSelection и GlobalStoreDatabaseSelection диалогах я добавил новое условие CUSTOMINSTALL = 1.

Это решает мою проблему, когда я выбираю опцию «по умолчанию». Это пропускает процесс установки.

Проблема, с которой я столкнулся, заключается в выборе опции «пользовательская установка». Я просматриваю каждый из указанных выше диалогов, и диалог GlobalStoreDatabaseSelection должен быть последним диалогом. В этом диалоговом окне у меня есть это:

<Control Id="Install" Type="PushButton" X="236" Y="243" Width="56" Height="17" Disabled="no" Text="Install" > 
     <Publish Event="EndDialog" Value="Return"></Publish> 
</Control> 

Но это не означает, что установщик не выполнит фактическую установку. Он возвращается к диалоговому окну StartupMenu.

Итак, я думаю, что делает событие = «EndDialog» Value = «Return» на самом деле? Куда он прыгает?