все что связано с моей работой
Главная » Учебник WiX » Новый диалог в цепочке

Новый диалог в цепочке

Хотя библиотеки интерфейса WixUI могут обработать большинство обычных сценариев установки, иногда требуются модификации или обновления / дополнения. Чтобы обработать эти случаи, надо загрузить исходный код WiX, потому что нам надо будет посмотреть на некоторые исходные файлы.

В нашем примере мы изменим библиотеку WixUI_Mondo, добавляя новое диалоговое окно, чтобы собрать регистрационную информацию (имя, организацию, регистрационный номер) от пользователя. Новое диалоговое окно появится между диалоговыми окнами Лицензионного соглашения и выбором типа установки.

Сначала мы создадим новый файл UserRegistrationDlg.wxs, описывающий наше новое диалоговое окно. Вы можете изменить существующее диалоговое окно, или создать свое окно с нуля. Позже мы рассмотрим, как создавать диалоговые окна и использовать различные интерфейсные элементы в WiX. Здесь мы только чуть-чуть прокомментирием:


Окно создается как отдельный фрагмент:


    
      
        
        
        
        
        
          CD &Key:
        
        

Теперь нужно вставить наше окно в исходную цепочку диалоговых окон. Мы должны определить, какие диалоги будут перед и после нашего в этой цепочке: “Лицензионное соглашение” и “Тип Установки”. Мы можем найти фактические идентификаторы этих диалоговых окон, в исходном коде WixUI_Mondo: src\ext\UIExtension\wixlib\WixUI_Mondo.wxs. Их имена — LicenseAgreementDlg и SetupTypeDlg, таким образом, это — то, как мы будем обращаться к ним от нашего нового диалогового окна:


          1
        
        
          1
          CostingComplete = 1
          ProductID
        
        
          1
        
        
        
          Please enter your customer information
        
        
        
          {\WixUI_Font_Title}Customer Information
        
        
      
    
  

Довольно легко включить диалоговое окно в пользовательский интерфейс. Вместо того, чтобы просто сослаться на WixUI_Mondo, как мы сделали ранее, мы создаем наш собственный интерфейс с тегом UI. Однако, мы все еще хотим использовать мощь WixUI_Mondo, и поэтому, создаем ссылку на него с помощью UIRef, но только добавляем наши модификации: во-первых, мы добавляем ссылку на новое диалоговое окно UserRegistrationDlg.

Затем мы должны определить ссылки в цепочке переходов. Обычно “Лицензионное соглашение” указывало на “Выбор типа установки” и наоборот. Теперь, когда наше собственное диалоговое окно вставлено между ними, мы должны изменить их “Далее” и “Назад” ссылки. Простой способ – это скопировать соответствующие теги Publish из WixUI_Mondo.wxs и изменить атрибут Value, чтобы заменить ссылки на наше новое диалоговое окно, не изменяя больше ничего:

 
      
      

      

      LicenseAccepted = "1"
      1
    

Основной файл должен будет определить свойство, которое мы упомянули. Контрол MaskedEdit используют различные символы, чтобы определить, какой и символ можно вводить.

@@@@@]]>

И на этом — все. Теперь мы можем создать наш измененный пакет следующими командами:

candle.exe SampleWixUIAddDlg.wxs UserRegistrationDlg.wxs
light.exe -ext WixUIExtension -out SampleWixUIAddDlg.msi SampleWixUIAddDlg.wixobj UserRegistrationDlg.wixobj

Комментариев нет

No comments yet.

RSS feed for comments on this post.

Sorry, the comment form is closed at this time.