메뉴 건너뛰기

× ◈ 공지 ◈ 후원내용 하나 추가 합니다   [후원 공지]참여 바랍니다

오에스매니아

URL 링크 : https://portableapps.com/manuals/Portabl...index.html 

우선 아래 PortableApps 빌더 를 받습니다.

PortableAppsLauncher_repack_V2.7z_빌더 제가 사용하기 편하게 수정된 빌더입니다.

NSIS3 로 변경, 스플래시 자동 스톱, 원드라이브 저장 옵션, 일부 플러그인 함수등등 추가된 버전입니다. 


다운 받으면 뒤에 이름 _빌더 지우고 압축을 푸시면 됩니다. (크롬이 설정 파일을 막는 이유로 이름 바꿈...)

작업 경로가 길면 오류가 날 수 있으니 가능하면 최상위 폴더에 풀어주세요. 예: C:\PortableGenerator


오리지날은 아래 주소에서 다운 가능합니다.

https://portableapps.com/apps/development/portableapps.com_launcher



그럼 시작하겠습니다.

강좌용 프로그램은 우선 간단한 Master PDF 로 하겠습니다.


우선 적당한 폴더에 PortableApps 용 템플릿 (Work.7z_템플릿 ) 을 풀어 넣습니다.

(Work.7z_템플릿을 Work.7z 로 이름을 바꾸고 압축을 푸시면됩니다.)


참고로 저는 PortableApps\Work\ 에 풀어 사용합니다. 강좌도 이 경로라고 가정하겠습니다.


템플릿 App\AppInfo 폴더로 이동하여 아이콘 파일인 appicon.ico 은 적당히 바꾸고

가장 중요한 appinfo.ini 부터 수정해 봅시다. (아래 항목은 빠짐없이 적어주셔야 컴파일이 됩니다.)

[Details]

Name=Master PDF   ;; 프로그램 이름을 적습니다.

AppId=MasterPDFPortable   ;; 프로그램의 포터블 파일명입니다.

Publisher=Copyright (c) Code Industry Ltd. All rights reserved   ;; 프로그램 제작사 입니다.

Homepage=www.code-industry.net       ;; 프로그램 제작사 홈페이지 입니다.

Description=multifunctional PDF Editor   ;; 프로그램의 설명을 적습니다. (이건 생략 가능)

Language=Multilingual  ;; 지원 언어 (제대로 LocaleName 을 적어야 합니다. Locale.txt 참고)


[Version]

PackageVersion=5.1.68  ;; 프로그램 버전을 적습니다.



이제 Master PDF 를 설치해봅시다. 그전에 참고...

설치전 기록은 꼭 하셔야 만들기가 조금은 더 수월해집니다.

설치 기록을 확인하기 위해서 전 2가지 방법을 사용합니다.


첫째 Revo Uninstaller 를 사용하여 기록하는 방법

첫째 방법은 간단합니다 위 프로그램을 사용해 설치하면 자동으로 기록해줍니다.


제목 없음 01.png




두번째는 RegCool 로 설치전 스냅샷을 저장하고 설치후 그걸 비교하는 방법입니다.

첫째 방법은 간단하니 넘어가고 좀 생소한 두번째 방법을 설명하겠습니다.


001.PNG



RegCool 을 실행하고 도구 메뉴에 [레지스트리 스냅샷] 을 선택합니다.


위 처럼 나오면 [샷1 만들기]로 현재 레지스트리를 저장합니다.

그후 Master PDF 설치 하시고 설치가 완료되면 [샷2 만들기] 를 눌러 다시 레지스트리를 저장합니다.


그럼 [레지스트리 비교] 버튼이 활성화 되고 눌러서 비교를 하면됩니다.


프로그램에 따라서 첫째 방법이 좋을때도 혹은 두번째 방법이 좋을때도 있습니다.


이 부분을 설명하기가 좀 애매한게 

프로그램마다 저장 방법 저장 위치 등 너무 천차만별이라서 딱 이거다 할수가 없네요.

사실 포터블은 이런거 찾는게 전부라고 할 수 있는데 자주 만들어 감을 익히는 방법밖에 없습니다.


그래서 중요하게 살펴보아야할 곳을 알려드리겠습니다. 


프로그램과 관련해 살펴보아야 할 폴더

C:\Program Files

C:\Program Files\Common Files

C:\Program Files (x86)

C:\Program Files (x86)\Common Files


프로그램 설정 그리고 부속 파일과 관련해 살펴보아야 할 폴더

C:\ProgramData

C:\Users\<유저>\AppData\Local

C:\Users\<유저>\AppData\Roaming


프로그램 설정과 관련해 살펴보아야할 레지스트리

HKEY_CURRENT_USER\Software

HKEY_LOCAL_MACHINE\SOFTWARE



이렇게 각각의 파일 위치와 레지스트리 정보를 확인 했으면 본격적으로 만들어 봅시다.


일단 확인한 바로는


설정은 레지스트리 HKCU\Software\Code Industry\Master PDF Editor 5

Master PDF 설치는 C:\Program Files 폴더에

부속 파일은 %LOCALAPPDATA%\Master PDF Editor 폴더에

이렇게 확인되었습니다.



Master PDF 설치 폴더의 파일을 App\MasterPDF 로 복사해 옵니다.


그럼 폴더 구조가 이렇게 됩니다.

002.PNG



이제 App\AppInfo\Launcher 폴더로 이동해 설정파일 MasterPDFPortable.ini 파일을 수정해봅시다.

참고: 설정 파일 이름은 "프로그램의 포터블 파일명" (AppId) 과 같아야하고 확장자는 .ini 입니다.


[Launch]

ProgramExecutable=MasterPDF\MasterPDFEditor.exe   ;; 실행할 파일명입니다.

DirectoryMoveOK=yes   ;; 포터블 위치가 이동할때 이전 위치를 저장해두고 쓸수있게 합니다.

SupportsUNC=yes   ;; UNC 네트워크 위치를 사용가능하게 해줍니다.


[Language]

Base=ko    ;; 언어 설정입니다.


[LanguageStrings]

en=en_en  ;; 언어 설정의 문자형입니다. (프로그램 언어 치환에 사용됩니다)

ko=ko_kr


[Activate]

Registry=true     ;; 레지스트리 사용을 가능하게합니다.

OneDrive=false   ;; 설정을 원드라이브에 저장할지 설정합니다.

Splash=false      ;; 스플래시 화면을 보여줄지 설정합니다.

;; 스플래시 화면은 App\AppInfo\Launcher\splash.jpg 가 존재하면 그 이미지를 보여줍니다.



;; 이 설정들은 필요한 경우 data 폴더에 저장됩니다.

;; 해당 레지스트리를 종료시 백업 시작시 복구 합니다.

[RegistryKeys]

MasterPDF=HKCU\Software\Code Industry\Master PDF Editor 5


;;  시작할때 해당 레지스트리 항목을 수정합니다.

;;  REG_SZ: 는 문자형 REG_DWORD: 는 숫자형입니다. 

[RegistryValueWrite]

;; 경로는 HKCU\...\Master PDF Editor 5\ 이고 항목은 check_updates 값은 0 입니다. 

HKCU\Software\Code Industry\Master PDF Editor 5\check_updates=REG_DWORD:0


;; %PAL:LanguageCustom% 이 값은 언어 문자형 그러니까 en_en 이 됩니다.

HKCU\Software\Code Industry\Master PDF Editor 5\lang=REG_SZ:%PAL:LanguageCustom%


;; %PAL:UserName% 는 조금뒤에 설명할 Custom.nsh 파일에서 생성된 유저명이 적힌 변수입니다.

HKCU\Software\Code Industry\Master PDF Editor 5\user_name=REG_SZ:%PAL:UserName%


;; %LOCALAPPDATA% = 윈도우 환경변수로 "C:\Users\<유저>\AppData\Local" 경로입니다.

HKCU\Software\Code Industry\Master PDF Editor 5\tesseract_ocr_path=REG_SZ:%LOCALAPPDATA%\Master PDF Editor\tessdata\


;; 프로그램이 종료될때 삭제할 레지스트리입니다. 앞에 숫자는 순서대로...

[RegistryCleanupForce]

1=HKCU\Software\Classes\Applications\MasterPDFEditor.exe

2=HKCU\Software\Classes\MasterPDFEditor5.Document

;; 탐색기 PDF 파일 우측 메뉴에 등록되는 메뉴를 종료시 삭제 하는 레지스트리 (강좌 아래에 추가 설명)

3=HKCU\Software\Classes\SystemFileAssociations\.pdf\shell\MasterPDFEditor5.Document

4=HKCU\Software\Classes\SystemFileAssociations\.xps\shell\MasterPDFEditor5.Document


;; 프로그램이 종료될때 해당 레지스트리가 비어있으면 삭제합니다.

[RegistryCleanupIfEmpty]

1=HKCU\Software\Code Industry\Master PDF Editor

2=HKCU\Software\Code Industry


;; 프로그램 부속 파일이 있는 경로를 종료시 백업 시작시 복구 합니다. 

[DirectoriesMove]

MasterPDF=%LOCALAPPDATA%\Master PDF Editor


;; 프로그램이 종료될때 삭제할 폴더입니다.

[DirectoriesCleanupForce]

;; 앞에 ; 은 주석이란 말입니다. (주석은 실행시엔 해석(실행)을 안합니다)

;1=%LOCALAPPDATA%\..\LocalMaster PDF Editor



이 정도로 하고 이제 빌드해 봅시다.


PortableAppsLauncher\PortableGenerator.exe 를 실행합니다.

003.PNG


004.PNG


템플릿 파일들이 있는 작업 폴더를 선택합니다. 

템플릿 파일이 Work\App 에 있다면 Work\ 폴더를 선택하시면 됩니다.


그럼 Work\ 폴더에 빌드된 MasterPDFPortable.exe 가 생성됩니다.

실행해 봅시다.


잘 실행되는데 설정을 보면 이런데가 있군요.


005.PNG



주석에 작성자 유저명 ...

이걸 실행한 컴퓨터마다 해당 유저명으로 표시해 주고 싶습니다.


그리고 프로그램을 실행한 후 부터 탐색기 PDF 파일 우측 메뉴에 자동으로 메뉴가 등록되는데


006.PNG


이것도 없애고 싶습니다.


이럴때 사용하는게 Custom.nsh 파일입니다.

이 파일은 .ini 로 해결할수 없는 여러가지를 해결해줍니다.

참고: PortableAppsLauncher\Other\Source 폴더에 사용 예제가 많으니 살펴보시면 좋습니다.



우선 App\AppInfo\Launcher\Custom.nsh 파일을 만들어 줍니다.

그리고 다음과 같이 편집합니다.

${SegmentFile}


;; 프로그램이 시작될때 실행할 코드들

${SegmentPrePrimary}


  ;; 여기에 코드 작성


!macroend


;; 프로그램이 종료될때 실행할 코드들

${SegmentPostPrimary}


  ;; 여기에 코드 작성


!macroend



위에 작성된것이 기본 템플릿입니다.


이제 필요한 코드를 작성해봅시다.


${SegmentFile}


;; 프로그램이 시작될때 실행할 코드들

${SegmentPrePrimary}


        ;; 시작할때 유저명을 가져오는 코드입니다.


        ;; 윈도우 환경 변수 %HOMEPATH% 를 가져옵니다.

         ExpandEnvStrings $0 "%HOMEPATH%"

        ;; %HOMEPATH% 에서 유저 이름만 걸러냅니다.

         ${GetFileName} $0 $R0

        ;; PAL:UserName 변수에 유저 이름을 저장합니다.

        ;; 이후 설정 파일인 .ini 에서 %PAL:UserName% 을 사용할 수 있습니다.

         ${SetEnvironmentVariablesPath} PAL:UserName $R0


!macroend


;; 프로그램이 종료될때 실행할 코드들

${SegmentPostPrimary}


  ;; 여기에 코드 작성


!macroend



그리고 종료할때 탐색기 PDF 파일 우측 메뉴를 삭제하는 코드는 .ini [RegistryCleanupForce] 를 사용합시다.

위에서 작성한 MasterPDFPortable.ini 참고...

;; 프로그램이 종료될때 삭제할 레지스트리입니다.

[RegistryCleanupForce]

1=...생략

2=...생략

;; 탐색기 PDF 파일 우측 메뉴에 등록되는 메뉴를 종료시 삭제 하는 레지스트리

3=HKCU\Software\Classes\SystemFileAssociations\.pdf\shell\MasterPDFEditor5.Document

4=HKCU\Software\Classes\SystemFileAssociations\.xps\shell\MasterPDFEditor5.Document



이제 PortableAppsLauncher\PortableGenerator.exe 를 실행하여 다시 빌드하면 포터블 완성입니다.


이번 강좌는 비교적 쉬운 프로그램으로 했습니다.

다음 기회가되면 좀더 어렵고 고급 기능(DefaultData, FileWrite 등등)이 필요한 강좌를 써보도록 하겠습니다.



참고 사항

간혹 프로그램에 따라서 런타임 파일이 필요한 프로그램이 있습니다.

이건 만들땐 잘 실행되는데 윈도우 새로 설치한 다른컴 에선 실행 안되면 대부분 이 런타임 파일이 없는겁니다.

이땐 필요한 런타임 파일을 App\MasterPDF(프로그램이있는폴더) 에 넣어주면됩니다.

보통 런타임 파일은 msvcp1xx.dll, msvcr1xx.dll, vcruntime140.dll 이런것들이 있습니다.

이 런타임에 대한 좀더 자세한 사항은 다음 기회에...



참고 사이트들

NSIS 도움말: http://nsis.sourceforge.net/Docs/

플러그인들 : http://nsis.sourceforge.net/Category:Plugins

portableapps 도움말: https://portableapps.com/manuals/PortableApps.comLauncher/index.html

자료만 받아갈줄 아는 회원님들께, 개발자님들에게 최소한의 경우는 우리가 피드백으로 보답하는 겁니다

문제가 있던 없던 그동안 고생하신 것을 생각하여 피드백 작성을 부탁 드립니다
profile

드림컴

2018.10.25 20:14

멋진강좌 감사합니다.

profile

Ruby

2018.10.26 13:50

수고하셨습니다.

profile

풍선맨

2018.10.27 05:54

자세한 글 감사합니다~

profile

행복한나무

2018.10.28 10:53
소중한 강좌 정말 감사드립니다.!
profile

달림이

2018.10.29 07:34

great expert of you . Gooooooood.  

Let's study.  all of OhMae


profile

가치

2018.10.29 13:02

추천에 한표 했어요

강좌 2탄도 기대합니다

List of Articles
번호 제목 글쓴이 날짜 조회 수
618 드라이버 Sound Blaster Unlock DDL_DTS newfile + 1 ReconNyko 11-21  
617 정보 번역기 - keygen에서 음악을 추출하는 방법? new + 1 ReconNyko 11-21 18
616 일반 탑파워에서 알려주는 좋은 파워 고르는 방법 updatefile + 6 구영탄 11-20 134
615 정보 Dolby Digital Live, DTS 연결 - 광 오디오 케이블 SPDiF 패치 오류 updatefile + 1 ReconNyko 11-20 72
614 윈도우 RS5 신기능 클립보드 기록 사용하기 file + 7 단테9 11-18 278
613 기타 [뻘팁]음악태그 편집하실 때 앱체크에서 랜섬웨어 판정할 수 있습니다. file + 3 루시드림 11-15 122
612 정보 윈도우10 RS5 신기능 - 이모지 패널 + 13 춘삼 11-15 484
611 정보 Windows 10 Home 버전을 상위버전으로 변경 방법 updatefile + 3 데스윙 11-15 396
610 관리/보안 9 Best Reverse Engineering Tools for 2018 + 2 ReconNyko 11-14 150
609 일반 UEFI 설치 PE+AOMEI Partition+WinNTSetup 이용 file + 17 유카 11-12 531
608 정보 손글씨 폰트(무료) update + 17 하ㅇ룽 11-12 329
607 관리/보안 자동으로 휴지통과 임시 파일 정리하기 file + 3 오예스 11-12 234
606 일반 (펌)인생 꿀팁 총정리!!! [스압] file 푸른바다처럼 11-11 387
605 일반 컴퓨터 하면서 가끔씩 정리하면 좋은 것들 + 2 푸른바다처럼 11-11 367
604 윈도우 WinSxS폴더 최대한 안전하게 경량화하기 file + 1 루시드림 11-11 269
603 관리/보안 크리스탈 디스크 인포 - 디스크 건강 확인 / APM, AAM 컨트롤 file + 3 ReconNyko 11-11 124
602 네트워크 2018년 11월 10일 - / DNS 벤치마크 및 DNS 벤치 항목(1980개) file + 1 ReconNyko 11-10 130
601 정보 VMware 15Pro 에서 macOS 10.13.6 설치하기 file + 7 오예스 11-08 329
600 관리/보안 DNS 캐시를 자동으로 제거하는 방법 - 한장 요약 file + 4 ReconNyko 11-08 297
599 정보 DIY 조립컴퓨터 10단계완성 (고화질이미지 1.4M) file + 9 푸른바다처럼 11-08 437
598 윈도우 사소한팁) 트윅환경에서 터치키보드 쓰기 file NulKim84 11-07 101
597 정보 로고 필요하세요?? 여기어때요?! + 6 하ㅇ룽 11-07 276
596 드라이버 60Hz 모니터를 75 Hz 로 바꿔 봅시다. file + 6 ReconNyko 11-06 604
595 정보 구글 고급검색 (명령어입력X) file + 5 푸른바다처럼 11-06 259
594 일반 Note. GTX 680 블랙 스크린 오류해결 + 3 ReconNyko 11-06 108
593 관리/보안 오디오 지연 측정 프로그램 + ASiO file + 1 ReconNyko 11-04 176
592 드라이버 Realtek'사운드카드 개조 드라이버_X-Fi MB_3_OEM file ReconNyko 11-04 184
591 드라이버 Realtek'사운드카드 개조 드라이버_X-Fi MB_2 file + 5 ReconNyko 11-03 169
590 윈도우 윈도우10 클린설치 후 매뉴얼 file + 8 루시드림 11-03 701
589 드라이버 COSY KB3179BT 키패드 블루투스 등록문제 해결 file 무정 11-01 59
588 정보 모바일 유튜브 광고제거(파이어폭스 사용) + 2 가시리 11-01 144
587 정보 유튜브 광고제거(크롬사용) file + 3 가시리 11-01 297
586 관리/보안 개인 정보 설정 한방에 끝내기 file + 8 오예스 11-01 408
585 드라이버 AMD, Nvidia, intel 개조 그래픽 드라이버 + 2 ReconNyko 10-30 403
584 일반 PortableApps를 사용하여 포터블 만들기 고급편 file + 13 오예스 10-29 361
583 일반 알아두면 유용한 소프트웨어 10가지 file + 34 푸른바다처럼 10-27 857
582 윈도우 윈도우 10 최신 업데이트 '말썽'…일부 HP PC서 블루스크린 발생 file + 7 anonymous 10-26 452
581 PCTip Black Viper's Win10 시스템 최적화 수동 적용을 위한 엑셀파일 file + 7 루시드림 10-25 319
» 일반 PortableApps를 사용하여 포터블 만들기 초급편 file + 6 오예스 10-25 352
579 관리/보안 시작 메뉴 타일 백업/복구 하기 file + 3 오예스 10-25 193
578 정보 윈도우10 최적화 스크립트 (초보/딴지 환영) file + 35 불멸의이순신 10-24 868
577 네트워크 Torrent Tracker 확인 사이트 + 6 ReconNyko 10-23 368
위로