Jump to content


This is a ready-only archive of the InstallSite Forum. You cannot post any new content here. / Dies ist ein Archiv des InstallSite Forums. Hier können keine neuen Beiträge veröffentlicht werden.
Photo

IS 2009 Installscript question / international dlg


7 replies to this topic

overlordchin

overlordchin
  • Full Members
  • 100 posts

Posted 13 May 2011 - 17:59

Not sure if this is the right area for this. I am using installshield 2009.
I have a non msi install script project. For some reason when it starts actually installing the dialog that pops up is larger than other dialogs causing our company branding to not display correctly. I used the following to correct this behavior:

Enable(STATUSDLG);
// Added in 11.0 - Set appropriate StatusEx static text.
SetStatusExStaticText( SdLoadString( IDS_IFX_STATUSEX_STATICTEXT_FIRSTUI ) );
SetFont(FONT_TITLE, STYLE_NORMAL, "MS Sans Serif");


Note: This only corrected the behavior in English only for all installs. If I attempt to run an upgrade install in Japanese the long dialog reappears. Normally I could just go to the dialog view and edit the appropriate dialog. However I do not see the dialog in question anywhere in there. Is there something in the script I should be looking for? Obviously it is being set somewhere b/c the dialog has our banner on it.


thoughts?

overlordchin

overlordchin
  • Full Members
  • 100 posts

Posted 13 May 2011 - 18:34

see below for a bit more of the code that references the dialog. As stated this appears to correct the issue entirely in English. But in Japanese the dialog is not the same. In a basic msi proj I could just go look at the dialog and move the widgets around until it looked right. But I just dont see the dialog in the view at all.

If I knew what it was called I could search the install script setup.rul file for it.

CODE
Dlg_ObjDialogs:
   nResult = ShowObjWizardPages( nResult );
   if ( ( nResult = BACK ) && ( nType != MODIFY ) ) goto Dlg_Start;
   if ( ( nResult = BACK ) && ( nType = MODIFY ) ) goto Dlg_SdFeatureTree;

switch(nType)

       case REMOVEALL:
     
  // Ensure that all previously installed features are removed
  // for media that supports updating.
  MediaGetData( MEDIA, MEDIA_FIELD_MEDIA_FLAGS, nMediaFlags, szIgnore );
 
  if( nMediaFlags & MEDIA_FLAG_UPDATEMODE_SUPPORTED ) then
   FeatureRemoveAllInMediaAndLog();
  else
   FeatureRemoveAllInMedia();
  endif;
                     
     
           Enable(STATUSDLG);  
           SetStatusExStaticText( SdLoadString( IDS_IFX_STATUSEX_STATICTEXT_MAINTUI_REMOVEALL ) );
           SetFont(FONT_TITLE, STYLE_NORMAL, "MS Sans Serif");
       case REPAIR:
   
  // Changed for DevStudio 9, Disk1 files are now always updated when installed
  // so when running from ADDREMOVE we need to prevent these files from being
  // updated since this will result in files being updated that are locked by the setup.
  // Updating these files when running from ADDREMOVE should not be needed since updates
  // are not run directly from Add/Remove.
           if( ADDREMOVE ) then
               // Reinstall all previously installed features, except
               // disk1 features.
               FeatureUpdate( "" );
           else
               // Reinstall all previously installed features.
               FeatureReinstall();
           endif;
           
     
           Enable(STATUSDLG);
           // Added in 11.0 - Set appropriate StatusEx static text.
           SetStatusExStaticText( SdLoadString( IDS_IFX_STATUSEX_STATICTEXT_MAINTUI_REPAIR ) );
           SetFont(FONT_TITLE, STYLE_NORMAL, "MS Sans Serif");
       case MODIFY:
           
           Enable(STATUSDLG);
           // Added in 11.0 - Set appropriate StatusEx static text.
           SetStatusExStaticText( SdLoadString( IDS_IFX_STATUSEX_STATICTEXT_MAINTUI_MODIFY ) );
           SetFont(FONT_TITLE, STYLE_NORMAL, "MS Sans Serif");
           
   endswitch;


Stefan Krueger

Stefan Krueger

    InstallSite.org

  • Administrators
  • 13,269 posts

Posted 17 May 2011 - 18:40

Are you using a custom skin, or one of the skins that ship with InstallShield, or use the default standard dialog appearance?

overlordchin

overlordchin
  • Full Members
  • 100 posts

Posted 17 May 2011 - 18:59

If I open the Skins folder under the Dialog view <None> has a red check mark on it. So I take that to mean we have the default standard dialog appearance and then are substituting our own banner / welcome image where applicable. Under the dialogs it appears all have the default appearance except for:

SdFinish
SdFinishReboot
SdLicense2RTF
SdStartCopy2
SdWelcome
SdWelcomeMaint


the rest are greyed out which I take to mean they are using the defaults. So any customization would have to be in the install script itself (assumption on my part)

Stefan Krueger

Stefan Krueger

    InstallSite.org

  • Administrators
  • 13,269 posts

Posted 17 May 2011 - 19:07

Can you reproduce the problem with a fresh test project? It could be a bug in InstallShield when using Japanese fonts.

overlordchin

overlordchin
  • Full Members
  • 100 posts

Posted 25 May 2011 - 13:54

I can't due to the fact that I do not know what dialog is actually being presented when files are being installed. If I knew what the name of it was I could look in the install script or dialog list for the dialog ( I have looked in the dialog list and do not see it present by visually examining each dialog).

So if it has the standard banner on it; it is likely to not be an issue. I suppose it might look marginally bigger? I had to manually change the dimensions of several of the Japanese dialogs to prevent the same issue (with the banner not displaying correctly).

SO I guess the main issue here is just a lack of knowledge on my part. What is or should the status dialog be called and why does it display correctly for every other version of the copying files dialog.

The installer shows a smaller version of the box with no banner on it at all for

english install
english upgrade
english repair
chinese (traditional / simplified) install
chinese (traditional / simplified) upgrade
chinese (traditional / simplified) repair
Japanese install
Japanese repair -- untested

-----

Japanese upgrade however shows a totally diff dialog. It shows what the dialog used to look like before i added the Enable(STATUSDLG);


seems unlikely to be a font issue given that it seems fine for a regular install.

Stefan Krueger

Stefan Krueger

    InstallSite.org

  • Administrators
  • 13,269 posts

Posted 27 May 2011 - 14:16

Using the drop down boxes at the top of the script window, insert the OnMoveData function. This will insert the default script code for this event handler. As far as I know by default it calls Enable( STATUSEX ); which displays the progress dialog. It's a built-in dialog which is not available in the dialog editor. There are other progress dialog types available, see the documentation of function Enable().

overlordchin

overlordchin
  • Full Members
  • 100 posts

Posted 27 May 2011 - 14:17

Thanks I will try that and let you know what my results are