2010년 2월 9일 화요일

[인스톨실드]설치대상의 시스템언어에 따른 동적 Feature 설치 방법

설치 대상의 시스템 언어에 따라 필요한 Feature 만 선택하여 설치할 수 있는 방법입니다.

 

예를 들어  프로그램이 설치될   시스템의 언어가 한국어,일본어,프랑스어인 경우 어떻게 동적으로 해당 언어를 디텍팅하여 각각 필요한 Feature 만 설치하는 방법  이정도로 설명 드리면 될까요?

 

1>설치 대상의 언어에 따라 각각 Feature 와 Component 를 등록해 줍니다.

 예제에서는 한국어,일본어,프랑스어에 따른 각각 3개의 Feature 와 Component 를 생성했습니다.(Korean,Japan,France)

 

 

2>Setup Design -> Associate Component 메뉴를 통해 각각의 Feature 와 Component 를 연결해 줍니다.

 Korean, Japan,France 관련되어 모두 작업을 해 줍니다.

 

 

3>스크립트 코드를 작성합니다.

 

NUMBER  nLanguage;

 

nLanguage= SELECTED_LANGUAGE;    //SELECTED_LANGUAGE 는 시스템의 ID 를 numeric Value 로 리턴해 줍니다.               
                 switch (nLanguage)

case ISLANG_KOREAN : //시스템이 한국어인 경우

      FeatureSelectItem (MEDIA, "Korean", TRUE);

      FeatureSelectItem (MEDIA, "Japan", FALSE);
      FeatureSelectItem (MEDIA, "France", FALSE);

 

case ISLANG_JAPANESE : //시스템에 일본어인 경우
      FeatureSelectItem (MEDIA, "Korean", FALSE);

      FeatureSelectItem (MEDIA, "Japan", TRUE);
      FeatureSelectItem (MEDIA, "France", FALSE);

 

 case ISLANG_FRENCH_STANDARD ://시스템에 프랑스어인 경우
      FeatureSelectItem (MEDIA, "Korean", FALSE);

      FeatureSelectItem (MEDIA, "Japan", FALSE);
      FeatureSelectItem (MEDIA, "France", TRUE);

 

endswitch;

 단점이라면 모든 언어의 설치 파일이 인스톨 소스 자체에 포함되어 프로그램 자체가 무거워 진다는 점이 있을수 있습니다.

 

지원하는 언어 코드는 아래와 같습니다.

 

InstallShield Language

InstallScript Constant

English Windows 95, NT 4.0, and Later Equivalent

Basque

ISLANG_BASQUE

Basque

Bulgarian

ISLANG_BULGARIAN

Bulgarian

Catalan

ISLANG_CATALAN

Catalan

Chinese (Simplified)

ISLANG_CHINESE_SIMPLIFIED

Chinese (Simplified)

Chinese (Traditional)

ISLANG_CHINESE_TRADITIONAL

Chinese (Traditional)

Croatian

ISLANG_CROATIAN

Note that for backward compatibility, this constant continues to be 0x001a rather than the more logical 0x041a (in light of its relation to Serbian); you should continue to use this constant rather than ISLANG_CROATIAN_STANDARD.

Croatian

Czech

ISLANG_CZECH

Czech

Danish

ISLANG_DANISH

Danish

Dutch

ISLANG_DUTCH

Dutch (Standard)

English

ISLANG_ENGLISH

English (United States)

Finnish

ISLANG_FINNISH

Finnish

French (Canadian)

ISLANG_FRENCH_CANADIAN

French (Canadian)

French (Standard)

ISLANG_FRENCH_STANDARD

French (Standard)

German

ISLANG_GERMAN

German (Standard)

Greek

ISLANG_GREEK

Greek

Hungarian

ISLANG_HUNGARIAN

Hungarian

Indonesian

ISLANG_INDONESIAN

Indonesian

Italian

ISLANG_ITALIAN

Italian (Standard)

Japanese

ISLANG_JAPANESE

Japanese

Korean

ISLANG_KOREAN

Korean

Norwegian

ISLANG_NORWEGIAN

Norwegian (Bokmal)

Polish

ISLANG_POLISH

Polish

Portuguese (Brazilian)

ISLANG_PORTUGUESE_ BRAZILIAN

Portuguese (Brazilian)

Portuguese (Standard)

ISLANG_PORTUGUESE_STANDARD

Portuguese (Standard)

Romanian

ISLANG_ROMANIAN

Romanian

Russian

ISLANG_RUSSIAN

Russian

Serbian

ISLANG_SERBIAN_CYRILLIC

Serbian (Cyrillic)

Slovak

ISLANG_SLOVAK

Slovak

Slovenian

ISLANG_SLOVENIAN

Slovene

Spanish

ISLANG_SPANISH

Spanish (Traditional Sort)

Swedish

ISLANG_SWEDISH

Swedish

Thai

ISLANG_THAI

Thai

Turkish

ISLANG_TURKISH

Turkish

 

댓글 없음:

댓글 쓰기