본문 바로가기

자료/Inno-Setup

[IS] Inno Setup !


Inno Setup [IS]
Inno Setup 은 인스톨 파일을 만들수 있게 공개된 인스톨러 메이커 입니다.

IS(Inno Setup) 는 Install Factory , Smart Install Maker 와 같이 형식이
얽매여져 있는것이 아닌 사용자가 원하는대로 인스톨러파일을 만들수 있습니다.
또 여러가지 IST(Inno Setup Tool) 를 사용해 필요 파일을 다운로드 하는 기능도 사용가능합니다.

다만 IS의 유일한 단점은 모든 스크립트를 사용자가 "직접" 짜야한다는것이고
한국에는 아직까지 IS를 전문적으로 다루는 홈페이지나 Cafe 가 없습니다 [정말 아쉬워요..]

아래파일들은 IS에 필요한 모든것을 다운로드 할수있는
퀵스타트 팩 과 다운로드 기능을 지원하는 IDTDownloader 입니다.


아래는 제가 샘플을 이용해 만든 스크립트 입니다.

//문자를 정합니다 (딱히 할필요는 없습니다)
#define MyAppName "App Name Set"
#define MyAppVerName "App Version Set"
#define MyAppPublisher "Made By NoBLess"
#define MyAppURL "URL Set"

//설치
[Setup]
//으음 이건 저도 잘 모르겠습니다..
DisableStartupPrompt=true
//프로그램 추가/제거 에 표시할것인지 말것인지 정합니다 true 해도되지만 나중에 귀찮으므로 false
DisableProgramGroupPage=false

//라이센스 파일지정 (라이센스 파일은 설치도중 설명문과 함께 사용자 계약에 동의하는 부분입니다..?)
//제 기준에 맞춰서 햇습니다. 그냥 편하게 c드라이브에 넣어놓고 하셔도 됩니다.
LicenseFile=C:\Documents and Settings\Home\바탕 화면\Else\Info.txt

//위에서 정리한 문자열을 넣습니다
AppName={#MyAppName}
AppVerName={#MyAppVerName}
AppPublisher={#MyAppPublisher}
AppPublisherURL={#MyAppURL}
AppSupportURL={#MyAppURL}
AppUpdatesURL={#MyAppURL}
//기존 경로에 경로를 추가하는것을 허용할지 정하는것입니다. 전 false
AppendDefaultDirName=false
//기본 설치 경로입니다.
DefaultDirName={drive:C:}\
//기본 디렉토리 설정 [이기능은 안써봐서 잘 모르겠습니다..]
AllowRootDirectory=false

//파일의 이름을 정합니다(나중에 따로 수정해도 되니 패스해도 됩니다
OutputBaseFilename=Install File Name
//압축 방식을 정합니다 (lzma 가 가장 많이 압축하는 방식입니다)
Compression=lzma
//솔리드 압축을 허용합니다.(허용 해도 손해보는것은 없습니다)
SolidCompression=true
//추가 경로 생성? (안써봐서 모르겠네요)
CreateAppDir=false
//언어 설정 창을 띄우는것 설정
ShowLanguageDialog=yes
//파일의 아이콘 경로
SetupIconFile=C:\Program Files\Inno Setup 5\L4D2 Icon.ico
//삭제 기능
Uninstallable=false

[Languages]
//언어를 설정합니다 (기본적으로 한국어는 지원안됩니다. 나중에 따로 만드셔야 합니다)
Name: english; MessagesFile: compiler:Languages/Korean.isl

//다운로더 기능을 포함시킵니다.
#include ReadReg(HKEY_LOCAL_MACHINE,'Software\Sherlock Software\InnoTools\Downloader','ScriptPath','')

[Files]
//다운로더의 언어를 설정합니다.
Source: C:\Program Files\Sherlock Software\InnoTools\Downloader\languages\itd_en.ini; Flags: dontcopy

[Code]
//compile.exe 가 잇는곳에서 그림들을 모아서 파일을 꾸밉니다.(어쨋든 컴파일러가 있는곳에 그림을 넣으세요)
procedure InitializeWizard();
//설치를 시작할때
begin
//파일 다운로드를 시작
 itd_init;
 itd_addfile('다운받을 파일의 링크를 넣어주세요',expandconstant('저장 경로와 파일이름을 넣어주세요. 예:c:\install.zip'));
//다운로드가 완료되면 다음할일을 지정합니다 (일단 샘플이니 다운로더 기능으로만 끝냅시다)
 itd_downloadafter(wpReady);
end;

//설치 완료후에 띄울 파일을 지정합니다
[Run]
Filename: 파일 경로; Description: {cm:LaunchProgram,실행시킬때 이름}; Flags: nowait postinstall skipifsilent

대충 이정도입니다.
뭐 쓰다보니 저도 이해못하는 부분이 꽤 있네요 ㄷㄷ.
저도 하나하나 배워가는 입장이다 보니 전문적으로 설명을 못해드리겠습니다.
[뭐 그렇다고 치고 여러분 수고하세요 ^^;]