November 12, 2009

How to create Custom Dialog Themes for Basic MSI Project in InstallShield 2010

InstallShield provides some good default Themes and if you wonder how to create your own Custom Themes, which displays your product specific images on the Installation GUI, then this article is for you. This article explains the steps to create / use Custom dialog Themes in Basic MSI Project, which is an undocumented feature of InstallShield.
Steps to create Custom Dialog Themes
1. Go to <Installshield Installation Directory>\Support\Themes
2. Create a .Theme file say “My Custom.Theme” with following content
<?xml version="1.0" encoding="UTF-8"?>
<Theme Name="My Custom Theme" Path="My Custom Theme" Preview="preview.jpg" SetupImage="setup.gif">
<Transform id="welcome">
         <Add Control="Image" Type="Bitmap" Region="0 0 374 234" Attributes="1" Source="welcome.jpg"/>
         <Add Control="DlgLine" Type="Line" Region="0 234 374 0" Attributes="1"/>
</Transform>
<Transform id="interior">
         <Add Control="Banner" Type="Bitmap" Region="0 0 374 44" Attributes="1" Source="banner.jpg"/>
         <Add Control="BannerLine" Type="Line" Region="0 44 374 0" Attributes="1"/>
</Transform>
<Apply Transforms="welcome">
        <Match Size="374 266"/>
        <Include>
                <Name>AdminWelcome</Name>
                <Name>SetupCompleteError</Name>
                <Name>SetupCompleteSuccess</Name>
                <Name>SetupInitialization</Name>
                <Name>SetupInterrupted</Name>
                <Name>InstallWelcome</Name>
               <Name>MaintenanceWelcome</Name>
               <Name>PatchWelcome</Name>
               <Name>SetupResume</Name>
               <Name>SplashBitmap</Name>
               <Name>Exterior</Name>
        </Include>
</Apply>
<Apply Transforms="interior">
         <Match Size="374 266"/>
         <Exclude>
                  <Name>AdminWelcome</Name>
                  <Name>SetupCompleteError</Name>
                  <Name>SetupCompleteSuccess</Name>
                  <Name>SetupInitialization</Name>
                  <Name>SetupInterrupted</Name>
                  <Name>InstallWelcome</Name>
                  <Name>MaintenanceWelcome</Name>
                  <Name>PatchWelcome</Name>
                  <Name>SetupResume</Name>
                  <Name>SplashBitmap</Name>
                  <Name>Exterior</Name>
        </Exclude>
</Apply>
</Theme>
3. Create a folder say “My Custom Theme” along with “My Custom.Themes” file
4. Create the following images carrying your logo / brand / trademark with the below mentioned specification and copy them to
“<Installshield Installation Directory>\Support\Themes\My Custom Theme” directory

5. Launch InstallShield IDE, Open the existing project / Create New project
6. Go to User Interface --> Dialogs --> Themes, select the newly created theme ‘My Custom Theme’
Now all the dialogs either default or custom will have the New Theme.

14 comments:

  1. Great Stuff Bhuvana. Nice to see your blog !!

    Keep it going :-)

    Cheers'
    Vijay

    ReplyDelete
  2. Life saver man!

    Thank you!

    The best for you!

    Cristian.

    ReplyDelete
  3. How to add a new theme into the IS??

    ReplyDelete
  4. @Anonymous

    Hello.

    To add an skin. Change all the entries that says "My Custom Theme" to your Theme name in the *.theme file you have created with the info in here

    Here, like this:





    See the "THE NAME OF YOUR THEME"
    You have to change those to whatever you want. Also, create a folder with the same name, then is the same.

    I hope you understand me, my english is bad.

    Cristian.

    ReplyDelete
  5. Hi Cristian,

    For IS 2010 in installed path "C:\Program Files\InstallShield\2010\Support\Themes" i found many themes that were not actually displayed in the IDE when i open it. So i was wondering what could be the reason for some themes appearing and some not..??

    there must be come settings for this right.. ??

    Mano

    ReplyDelete
  6. hello.. i wanted to know about something... i am using IS2010 and after reading the blog entry of creating a new theme ,,,out of curiosity.. I went to the path "C:\Program Files\InstallShield\2010\Support\Themes" and there i could actually find more number of themes than that are displayed when i open up the IS2010 IDE.. so my guess is that there must be some settings for the Theme to be displayed in the UI, can u help me ??

    ReplyDelete
  7. Hi Mano

    By default, the IS 2010 SP1 installation, have 11 .theme files in "C:\Program Files\InstallShield\2010\Support\Themes" and the same is listed in Basic MSI project under dialog themes.

    Regards
    Bhuvana

    ReplyDelete
  8. thanks for ur reply Bhuvana

    i am Sorry to tell you but i am using IS2010 professional and i can only see 5 themes.. :(

    ReplyDelete
  9. Hi Bhuvana,

    Thank you for ur response, i figured out why my IDE is not showing all the themes this was because i was using its professional edition while its only available in premier editon, Thanks for ur support..

    ReplyDelete
  10. Excellent article .. that really helped in creating my custom theme.

    Thanks
    sangameshwar

    ReplyDelete
  11. Hi Sangameshwar

    Good to know that it has helped you.

    Thanks
    Bhuvana

    ReplyDelete
  12. Very helpful thanks a lot

    ReplyDelete
  13. What about the Update.exe of a patch? How do you apply the Themes to the initialization of the Update.exe created by InstallShield when packaging a patch?

    ReplyDelete