자바로 프로그램을 완성하고 나서 설치형 파일로 배포 하는것이 엄청 불편하다.

MS 진영에서는 설치 파일을 MS Visual Studio에서 제공하는것으로 알고 있으나, 자바에는 그런 기능이 없다.

그리하여 여러군데를 찾아 배포할 수 있는 파일을 만들어주는 무료 툴을 찾았다.


install factory보다는 강력하고 유명한 배포툴인 인스톨 쉴드만큼의 기능을 제공한다.



일단 홈페이지에서 파일을 다운 받는다.

http://www.jrsoftware.org/isdl.php



중간에 설치에 아래 그림과 같은 설정을 해주어야한다.


다른 파일을 같이 포함하여 파는줄 알고 체크를 해제하였으나, 스크립트에 문법을 포함하겠는지를 물어보는 화면이다.





위와 같이 설치가 완료되면 프로그램을 사용할 수 있다.


간단한 설정 몇가지를 알아본다면.


; 표시는 주석이며, [SETUP] 등 카테고리 마다의 설정이다.

또한 #define을 사용하여 이름을 명명할 수 있다.




; Script generated by the Inno Setup Script Wizard.

; SEE THE DOCUMENTATION FOR DETAILS ON CREATING INNO SETUP SCRIPT FILES!


#define EMSDIR "파일 경로"

#define EMSDIR_OUT "현재 파일위치"


;톰켓위치

#define TOMCAT "{pf}\Apache Software Foundation\Tomcat 7.0"

[Setup]

; NOTE: The value of AppId uniquely identifies this application.

; Do not use the same AppId value in installers for other applications.

; (To generate a new GUID, click Tools | Generate GUID inside the IDE.)

AppId={{1B453729-1A6A-42A3-A386-D5701937489C}

AppName=EMS

AppVersion=1.5

;AppVerName=EMS 1.5


;회사주소

AppPublisher=abc

AppPublisherURL=http://www.abc.com

AppSupportURL=http://www.abc.com

AppUpdatesURL=http://www.abc.com

DefaultDirName={#EMSDIR}

DisableDirPage=yes

DefaultGroupName=EMS

DisableProgramGroupPage=yes

OutputDir={#EMSDIR_OUT}

OutputBaseFilename=EMS

Compression=lzma

SolidCompression=yes



[Files]

;파일 복사 스크립트 recursesubdirs : 하위 디렉토리 까지

;copy DB File

Source: "{#EMSDIR_OUT}\EMS\*"; DestDir: "{#EMSDIR}"; Flags:"recursesubdirs";


;파일 복사 스크립트 recursesubdirs : 하위 디렉토리 까지

;copy tomcat files

Source: "{#EMSDIR_OUT}\tomcat\*"; DestDir: "{#TOMCAT}"; Flags:"recursesubdirs";


;파일 복사 스크립트 recursesubdirs : 하위 디렉토리 까지

;copy serial dll file

Source: "{#EMSDIR_OUT}\serial\*"; DestDir: "{syswow64}"; Flags:"recursesubdirs";


[Languages]

Name: "english"; MessagesFile: "compiler:Default.isl"


[Run] 

;톰켓을 서비스 등록한다.

;set tomcat service to automatic start

Filename: "{cmd}"; Parameters: "/c ""{#TOMCAT}/bin/Tomcat7.exe"" //US/Tomcat7 --Startup=auto"; Flags:"runhidden";


;윈도우 설정인 전원 옵션

;set power option

Filename: "{cmd}"; Parameters: "/c powercfg -change -monitor-timeout-ac 0"; Flags:"runhidden";

Filename: "{cmd}"; Parameters: "/c powercfg -change -monitor-timeout-dc 0"; Flags:"runhidden";

Filename: "{cmd}"; Parameters: "/c powercfg -change -disk-timeout-ac 0"; Flags:"runhidden";

Filename: "{cmd}"; Parameters: "/c powercfg -change -disk-timeout-dc 0"; Flags:"runhidden";

Filename: "{cmd}"; Parameters: "/c powercfg -change -standby-timeout-ac 0"; Flags:"runhidden";

Filename: "{cmd}"; Parameters: "/c powercfg -change -standby-timeout-dc 0"; Flags:"runhidden";

Filename: "{cmd}"; Parameters: "/c powercfg -change -hibernate-timeout-ac 0"; Flags:"runhidden";

Filename: "{cmd}"; Parameters: "/c powercfg -change -hibernate-timeout-dc 0"; Flags:"runhidden";


;윈도우 방화벽 제거

;set firewall stop

Filename: "{cmd}"; Parameters: "/c sc stop ""MpsSvc"""; Flags:"runhidden"; 

Filename: "{cmd}"; Parameters: "/c sc config ""MpsSvc"" start= disabled"; Flags:"runhidden"; 


;윈도우 업데이트 방지

;set window update stop

Filename: "{cmd}"; Parameters: "/c sc stop ""wuauserv"""; Flags:"runhidden"; 

Filename: "{cmd}"; Parameters: "/c sc config ""wuauserv"" start= disabled"; Flags:"runhidden"; 


;자바 업데이트 방지

;java update

Filename: "{cmd}"; Parameters: "C:\Windows\System32\cmd.exe /k %windir%\System32\reg.exe ADD HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System /v EnableLUA /t REG_DWORD /d 0 /f"; Flags:"shellexec runhidden"; 


[Registry]

;레지스트리 등록, 자바 업데이트 방지

;disable java update

Root: HKLM; Subkey: "SOFTWARE\JavaSoft\Java Update\Policy"; ValueType: dword; ValueName: "EnableJavaUpdate"; ValueData: "0";


;작업 표시줄 없애는 레지스트인데 동작을 안한다 ㅠㅠ.

;not working !!!! - taskbar auto hide

;Root: HKCU; Subkey: "Software\Micros0000000000oft\Windows\CurrentVersion\Explorer\StuckRects2"; ValueType: binary; ValueName: "Settings"; ValueData: "28 00 00 00 ff ff ff ff 03 00 00 00 03 00 00 00 6b 00 00 00 22 00 00 00 00 00 00 00 de 02 00 00 00 04 00 00 00 03 00 00";


;디렉 토리 삭제

[InstallDelete]

Type: filesandordirs; Name: "{#TOMCAT}\webapps\ROOT";






위와 같이 파일 복사, 삭제, 레지스트리 설정, cmd실행 창 제어 등 많은 기능들을 할 수 있다.


이 설정을 컴파일하면 하나의 설치 파일이 생성된다.(.exe)


'기타' 카테고리의 다른 글

[eclipse] camel 표기법변환  (0) 2014.10.26
[이클립스] 주석 설정  (0) 2014.09.02
[이클립스] 프로퍼티 파일 한글 깨짐  (0) 2014.08.23
ai (일러스트파일) png 변환  (0) 2014.08.13
[MAVEN] 명령어  (0) 2014.08.12

+ Recent posts