자바로 프로그램을 완성하고 나서 설치형 파일로 배포 하는것이 엄청 불편하다.
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 |