Zine.net online

Witaj na Zine.net online Zaloguj się | Rejestracja | Pomoc
w Szukaj

Bartek Szafko

Instalator w pliku msi część 4

W poprzedniej części stworzyłem instalator z interfejsem użytkownika. W tej części zbrandujemy instalator. Po pierwsze wymienię standardowe tło dla okna startowego:

image

W tym celu należ stworzyć własną bitmapę( niestety obsługiwany jest tylko format .bmp) koniecznie o rozmiarze 493 na 312, można również zmodyfikować istniejącą. Nowa bitmapa będzie stanowiła tło całego okna, poza paskiem przycisków.

Aby powiedzieć WiX, żeby podmienić tło należy zmodyfikować wartość zmiennej WixUIDialogBmp:

<WixVariable Id="WixUIDialogBmp" Value="WixUI_Bmp_Dialog.bmp" /> 

Następnie dodam własną licencję użytkownika i wymienię nagłówek okna (biały pasek z brązową płytką cd):

image

W tym celu stworzę bitmapę o rozmiarze 493 na 58 oraz plik Rich Text Format z tekstem mojej licencji. Podobnie jak w poprzednim przypadku muszę tylko ustawić odpowiednie zmienne:

<WixVariable Id="WixUILicenseRtf" Value="license.rtf" />
<WixVariable Id="WixUIBannerBmp" Value="WixUI_Bmp_Banner.bmp" />

Po skompilowaniu okna mogą wyglądać np tak:

image

image

Jak dodatkowy bonus dodam możliwość uruchomienia instalowanej aplikacji na samym końcu:

image

W tym celu trzeba po pierwsze dodać odpowiedni checkbox na ostatnim oknie:

<Property Id="WIXUI_EXITDIALOGOPTIONALCHECKBOXTEXT" Value="Skonfiguruj i uruchom aplikację"/>
<Property Id="WIXUI_EXITDIALOGOPTIONALCHECKBOX" Value="1"/>

Stworzę również akcję odpowidzialną za uruchomienie aplikacji:

<CustomAction Id="Uruchom" Directory="INSTALLLOCATION"
ExeCommand="[INSTALLLOCATION]WindowsFormsApplication1.exe"
Return="asyncNoWait"/>

Ważne jest pole Return i wartość asyncNoWait, która oznacza że instalator nie musi czekać na wynik działania aplikacji i może kontynuować normalne działanie..

Na koniec podepnę zdarzenie do przycisku “Zakończ” na ostanim oknie polegające na uruchomieniu akcji, ale tylko gdy zaznaczony jest checkbox:

<UI>
  <Publish Dialog="ExitDialog" Control="Finish" Order="2" Event="DoAction" Value="Uruchom">
    WIXUI_EXITDIALOGOPTIONALCHECKBOX
  </Publish>
</UI>

Wszystko jeszcze raz można zobaczyć na filmie


Inne podobne artykuły:

Bartek SzafkoTen artykuł pochodzi z bloga Bartka Szafko
)
Opublikowane 22 grudnia 2008 09:30 przez bszafko

Komentarze:

Brak komentarzy
Komentarze anonimowe wyłączone
W oparciu o Community Server (Personal Edition), Telligent Systems