강좌 / 팁

소프트웨어 ThinApp 사용하여 포터블(가상화) 프로그램 만들기.

2018.02.18 16:02

대추사랑 조회:4298 추천:19

부제 : ThinApp 사용하여 Microsoft Office 2007의 포터블(가상화) 만들기.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

 

다음과 같은 의미를 담고서 글을 써 보겠습니다.
포터블 = 하나의 파일, 또는 폴더로 더이상의 조작없이 동작하는 프로그램.
무설치 = 하나의 파일, 또는 폴더를 복사하고,  레지스트리 병합으로 동작하는  프로그램.
 

하나의 컴퓨터에 복수의 운영체제를 사용하는 분들이 많을 것입니다.
단일 운영체제를 사용하시는 분들은 사용하는 프로그램들을 운영체제와 같은 드라이브에 설치하던, 또는 운영체제가 적재되지 않은 다른 드라이브에 설치하던, 별다른 점이 없을 것입니다.

 

하지만 복수의 운영체제를 사용하는 분들은 운영체제마다 같은 프로그램을 복수로 설치하지는 않습니까?
그렇다면 한정된 디스크의 자원을 무의미하게 사용하는 것이 아닐까요?

 

저의 경우에는 3파티션의 ssd(128G)에 2개의 운영체제와 드라이버만을 설치하고, 사용하는 프로그램들은 모두 포터블 내지는 무설치로 만들어서 다른 파티션(ssd = E:\)에 넣어서 2 운영체제에서 같이 사용합니다.
물론 '내문서, 즐겨찾기, 뮤직, 사진, 비디오' 등등도 2 운영체제에서 공유합니다.
심지어 PE에서도 프로그램과 내 문서 등을 같이 사용합니다.
 

이렇게 사용하기 위해서는 포터블 및 무설치가 가능한 프로그램만을 사용해야 한다는 전제조건이 있습니다.
저의 경우는 가정에서 웹서핑, 간단한 게임, 가계부 내지는 금전 출납부를 사용할 수 있는 시트, 그리고 한글 문서를 인쇄할 수 있는 워드, 그 이외에는 오디오, 비디오 편집 프로그램과 플레이어등을 사용하는데, 꼭 대용량이나 복잡한 기능이 들어있는 최신버전을 사용하지는 않습니다. 심지어 포토샵도 사용해보다가 너무 많은 기능에 질려서 그저 네오페인트 정도로 만족합니다.

 

이와같은 사용자라면 포터블과 무설치를 만들기는 간단합니다.
먼저 저의 하드웨어 구성을 적어보자면...
 

SSD: 128G
30G = C:\ 원도우10 2016 LTSB x64
30G = D:\ 윈도우7 Ultimate x86
59G = E:\ 포터블&무설치 프로그램들, 내문서, PE용 WIM파일.
 

HDD: 1TB
400G = F:\ 백업, 다운로드 폴더, 서적, 음악 자료들.
531G = G:\ ISO, 기타 보관용.
 

포터블 만들기의 주의할 점.
---------------------------
*** 포터블 또는 무설치를 만들때는 깨끗한 윈도우가 필요합니다.
*** 다른 많은 프로그램들이 먼저 설치된 상태면 Windows\System32, 또는 SysWOW64 폴더에 .dll 파일이 이미 있는 경우는 ThinApp 이 캐치하지 못하므로 다른 컴퓨터에서는 포터블이 동작하지 않는 경우가 생깁니다.
*** 포터블을 만들기 위한 시스템은 윈도우7 그것도 x86 시스템이 좋을 것입니다. (만들어진 포터블의 호환성을 위해서.)

*** 특별한 이유가 없이 ThinApp 프로그램을 사용하여 포터블을 만들었는데, 동작하지 않는 경우를 흔히 봅니다.
*** 예를 들어 Neopaint 4.7c 또는 섬즈플러스 같은 경우입니다.
*** 이 때는 무설치로 만들어야 합니다. 그렇기에 2가지 경우를 대비하여 같이 진행합니다.
*** 포터블 만드는 도중에 컴퓨팅 환경이 바뀌는, 즉 바탕화면이 변경된다든지, 인터넷 사용으로 시스템 드라이브의 상태가 변경되는 등, 시스템 상태가 바뀌지 않도록 고정합니다.
잡설은 여기까지 하고...

 

포터블 만들기에 사용할 준비물.
------------------------------
준비물1 = VMware ThinApp 5.2.3  (최근 버전 사용을 권장함)
준비물1 = Regshot
준비물3 = Microsoft Office Professional Plus 2007 ( 내가 가진 단 하나의 오피스입니다)
위 1,2 프로그램은 본 포럼의 자료실에서 찾을 수 있을 것입니다.
 

1) [MS-Office 2007] 포터블(가상화) 만들기입니다.

 

2) 우선 준비된 두 프로그램을 실행해 둡니다. 또한 레지스트리 편집기도 실행해 둡니다.
   즉 틴앱실행 후, next 버튼을 누르지 않은 상태이고, 레지샷은 스캔하지 않은 상태입니다.
   (레지편집기는 만들어진 포터블이 소스 위치를 찾지 않도록 레지 정보를 편집하기 위해)

 

3) 오피스 Setup.exe 실행하고 제품키 입력, 다음 누르고, [지금 설치],[사용자 지정] 중에서 [사용자 지정] 선택합니다.
   설치 옵션, 파일 위치, 사용자 정보, 세개의 탭을 각각 선택하여 정보를 입력합니다.
   이렇게 미리 정보를 입력해야 나중에 다시 입력하는 수고를 덜 수 있습니다.
   설치 옵션 탭의 항목을 엑셀과 파포, 윈워드를 제외한 모두를 "사용할 수 없음" 선택합니다.
   선택된 세 항목도 세부적인 부분에서 모두 "사용할 수 없음" 선택하고 메인만 남겨놓습니다.
   *여기까지 진행하고 설치는 잠깐 정지합니다.

01.png

 

 

4) 틴앱의 첫 Next 버튼을 클릭합니다.
   다시 Advanced Scan Locations 버튼을 눌러보면 시스템 드라이브에 체크되어 있습니다.
   만들려는 무설치를 다른 드라이브에 설치하려면 설치할 드라이브도 체크하고, OK 클릭합니다. (지금은 E: 체크)
   그 다음 Prescan> 버튼을 클릭하고, Prescan이 끝나도록 기다립니다.

 

   *** 무설치를 만들려면 이 순서에서 1차 스캔 합니다. *****
   Prescan이 끝나면 레지샷 스캔 차례입니다. [리포트 저장 폴더]와 [리포트 이름]을 입력합니다.
   [리포트 저장 폴더] 지정은 가능한 시스템드라이브와 프로그램 설치할(E:) 는 피하는 것이 좋습니다.
   레지샷의 [1번 스캔] -> [전체 레지스트리] 선택해서 끝나도록 기다립니다. (무설치를 위한 과정)
   스캔이 끝나면 [1번 스캔] -> [저장] 버튼을 누르고 이름을 #1 입력합니다.
   그리고 [모두 지우기] 버튼을 클릭합니다.
 

5) 이제 오피스 설치에서 [지금 설치] 클릭합니다.
   설치 과정이 모두 끝나면 [닫기] 클릭합니다.

 

6) 모든 드라이브의 루트에 MSOCache 폴더가 생겼는지 확인하고, 있으면 삭제합니다.
   또한 시작메뉴-모든 프로그램 아래의 Microsoft Office 폴더를 삭제합니다.

 

7) 레지편집기에서 현위치를 HKEY_CLASSES_ROOT에 두고 Ctrl+F 눌러서 찾기합니다. (*** 중요한 과정입니다.)
   찾을 것은 SourceList 입니다. (찾을 대상은 키 이름)
   HKEY_CLASSES_ROOT\Installer\Products 하위 키에서 찾아집니다.
   값의 문자열을 보면 "Microfoft Office Professional Plus 2007" 문자열이 보이는 곳은 모두 SourceList 키를 삭제합니다. (대강 14 개소 정도??)

 

   다시 LocalPackage 문자열을 찾고, 찾을 대상은 [값]과 [데이터] 입니다.
   데이터 쪽을 살펴보고, 찾아진 키의 이름과 데이터 부분에서 "Microsoft Office ....." 문자열이 보이면 오피스의 설치 캐시폴더와 로컬패키지의 위치를 저정한 곳이므로 "LocalPackage" 이름도 지우고, "InstallSource" 이름도 삭제합니다. 이 부분이 살아있으면 사용자 부주의나 다른 이유로 지정된 위치에 캐시 폴더가 지워지면 오피스 사용중에 위치한 곳에서 데이터를 찾을수 없다는 메세지를 보게 됩니다.
   LocalPackage 이름을 찾다보면 많은 곳에서 찾을 수 있는데, 정확하게 데이터 부분에서 "Microsoft Office ....." 문자열이 보이는 키에서만 삭제

 

8) 설치한 프로그램을 실행해 봅니다. 엑셀, 파포뷰어, 파워포인트, 윈워드, 모두 실행해봅니다.
   온라인 도움말 사용하고, 업데이트는 사용하지 않습니다. (지금 포터블이 정상 작동하면 다음에 시도)
   보통 이 단계에서 앞의 6)번에서 MSOCache 폴더를 삭제했고, 7)번 단계를 거치지 않았다면 오피스가 계속 원본을 찾고 변경된 부분을 원래로 되돌리기위해 오피스 실행까지 지연이 발생할 것입니다.
 

   *** 무설치를 만들려면 이 순서에서 2차 스캔 합니다. *****
   다시 레지샷 스캔 2차 입니다.
   레지샷의 [1번 스캔] -> [전체 레지스트리] 선택해서 끝나도록 기다립니다.
   스캔이 끝나면 [1번 스캔] -> [저장] 버튼을 누르고 이름을 #2 입력합니다.
   그리고 [모두 지우기] 버튼을 클릭합니다.
 

9) 이제 틴앱의 버튼 Postscan을 누릅니다.
   Postscan이 끝나면 만들 포터블의 이름과 대상이 표시됩니다.
   보통 포터블의 이름은 시작메뉴-모든 프로그램에 기재된 바로가기의 이름으로 됩니다.
   하지만 바로가기의 이름보다 본체의 이름(E:\Programs\MOffice\Office12\EXCEL.EXE)으로 하는 것이 좋습니다.
   위의 6)번에서 시작메뉴의 오피스 폴더를 삭제했으면 자동적으로 본체의 이름이 나타날 것입니다.
 

10) 설치한 프로그ㅐㅁ에 따라서 하나를 선택하면(둘 이상도 가능) 그것이 포터블의 이름이 됩니다.
   그리고 설치된 파일이 과도하게 크다면 실행 파일과 데이터가 적재된 데이터 파일로 분리되는 경우도 있습니다.
   여기서는 EXCEL.EXE, POWERPNT.EXE, PPTVIEW.EXE, WINWORD.EXE 4개 선택합니다.
   선택이 끝나면 Next 버튼을 4번 클릭합니다.

 

11) 샌드박스의 위치를 결정하는데 기본값을 선택하던지 두번째인 같은 디렉터리를 선택하든지 아니면 사용자지정 위치나 네트워크 드라이브를 선택할 수 있습니다.
첫번째 선택은 샌드박스가 %AppData% 아래에 생성됩니다.
두번째 '같은 위치'를 선택했다면 생성되는 포터블을 CD같은 읽기전용 매체에서는 실행할 수 없습니다.
세번째 선택은 특정한 위치를 지정하고, 지정된 곳에 샌드박스를 생성합니다.
여러가지 경우를 고려하고 선택하십시오. (메모리가 많다면 1번 선택이 무난함)
하나를 선택후 Next 버튼 클릭.-> No 선택하고 Next 버튼 클릭.
 

12) 생성되는 인벤토리 이름과 프로젝트의 이름을 입력하고 Next 버튼 클릭.
     인벤토리 이름은 샌드박스의 이름이 됩니다.
     프로젝트의 이름은 틴앱의 하위 폴더인 Captures\ 폴더 아래에 생성되는 프로젝트 폴더 이름입니다.
 

13) 생성되는 포터블의 크기가 많이 크다면 여기서 포터블 실행 파일과 데이터 파일로 분리할 수 있습니다.
  그리고 패키지를 압축하는 것도 여기서 지정합니다. (Compress virtual package 체크)
  그리고 Save 버튼 클릭.
 

14) 위 과정이 끝나면 포터블 빌드를 위한 창이 나타나는데, 굳이 이 순서에서 빌드를 진행할 필요는 없습니다. [Skip the build process] 체크하고 Next 버튼 클릭.
 

15) 다시 [open project ....] 체크 해제하고 [Finish] 버튼 클릭.
 

이제 초기 과정이 완료되었습니다.
이대로 포터블을 빌드해도 되지만, 설치로 인한 캐시파일들이 많이 포함되어 생성되는 크기가 증가합니다.
쓰레기 파일이 많이 포함되었으니 당연하겠지요.
이제 쓰레기 파일을 삭제할 차례입니다.
아래는 생성된 프로젝트의 폴더와 파일들인데, 쓰레기를 제외한 것입니다.
마찬가지로 아래의 각 폴더에 들어가 보면 오피스를 제외한 시스템에서 사용한 흔적들도 보이는데 모두 삭제합니다.
 

%AppData%\ 폴더에는 Microsoft\ 제외한 모든 폴더 삭제.
%Common AppData%\ 폴더에는 Microsoft\, Microsoft Help\ 제외한 모든 폴더 삭제.
%SystemRoot%\ 폴더에는 SHELLNEW, winsxs 폴더를 제외한 모두 삭제.
 

--------- 32비트 윈도우7 에서의 작업결과 ----------------------
%AppData%\ ----------------- D:\Users\Administrator\AppData\Roaming\ 아래의 폴더.
%Common AppData%\ -------- D:\ProgramData\ 아래의 폴더.
%drive_E%\ ------------------ 오피스 2007 설치된 드라이브명.
%Local AppData%\ ----------- D:\Users\Administrator\AppData\Local\ 아래의 폴더.
%Program Files Common%\ --- x86 시스템 = D:\Program Files\Common Files\.   x64 시스템 = D:\Program Files (x86)\Common Files\
%ProgramFilesDir%\ ---------- x86 시스템 = D:\Program Files\.   x64 시스템 = D:\Program Files (x86)\
%SystemRoot%\ ------------- Windows\
%SystemSystem%\ ----------- x86 시스템 = Windows\System32\.     x64 시스템 = Windows\SysWOW64\
build.bat ---------------------- 빌드 배치파일.
HKEY_CURRENT_USER.txt ------ 레지스트리 정보 파일
HKEY_LOCAL_MACHINE.txt ----- 레지스트리 정보 파일
HKEY_USERS.txt --------------- 레지스트리 정보 파일
Package.ini -------------------- 빌드시 설정 파일
------------------------------------------------------------------

 

------------- Package.ini 편집 ---------------
[Compression]
CompressionType=Fast

[Isolation]
DirectoryIsolationMode=Merged

[BuildOptions]
.ShowSB=0 <----- 빌드시 이 부분을 추가하면 포터블 실행시 화면 우하단의 광고창을 나타나지 않게한다.
.
.
;-------- General Purpose Parameters  ----------
SandboxName=Office12
InventoryName=Office12
InventoryIcon=%Program Files Common%\Microsoft Shared\OFFICE12\Office Setup Controller\OSETUP.DLL,1
;PermittedGroups=Administrators;Remote Desktop Users
;PermittedComputers=DomainName1\GroupName1;DomainName1\GroupName2
;PermittedComputersOfflineAccess=0
;RemoveSandboxOnExit=1 ; 줄 선두에 세미클론 제거. (보안을 위해 포터블 종료시 샌드박스 파일 삭제)
;RemoveSandboxOnStart=1 ; 줄 선두에 세미클론 제거. (보안을 위해 포터블 시작시 샌드박스 파일 삭제)

;SandboxNetworkDrives=1
.
.
------------------------------------------

16) 이제 프로젝트 폴더에서 build.bat 파일을 실행하면 bin\ 서브폴더가 생성되고 포터블이 만들어집니다.
만들어진 포터블이 다른 환경에서도 동작하는지 시험해 봅니다.
내 경우는 윈도우7_x86, 윈도우7_x64, 윈도우10_x64에서 무난하게 실행되었습니다.
 

win10 x64에서:

윈도10x64.jpg

 

win7 x86에서:

윈도7x86.jpg

 

*** ThinApp 사용하여 포터블을 만들때 디렉터리의 깊이에 따라 오류 메세지가 나타나는 경우가 있었습니다. (WinRCTrans.)

*** 무설치 만들기는 오피스 2007의 경우 x86, x64 시스템 사이의 호환성이 없어서 포기했습니다.
*** 다른 무설치 만드는 방법은 다음에 시간이 허용하면 다시 적어보겠습니다.

번호 제목 글쓴이 조회 추천 등록일
[공지] 강좌 작성간 참고해주세요 gooddew - - -
3282 하드웨어| 지포스 동영상 플레이어 버벅임 임시 해결법 [6] KWss 4397 3 03-05
3281 기 타| [팁] 전파시계 맞추는 또 다른 방법 [4] asklee 4705 1 03-04
3280 모 바 일| 안드로이드 구글 크롬에 추천 사이트나 추천 기사 없애기 [4] 나이스트란 2109 4 03-03
3279 윈 도 우| 우클릭 메뉴(컨텍스트 메뉴) 설정에 대하여 [20] 대추사랑 3586 19 03-01
3278 소프트웨어| TC 9.12 32 비트 및 64 비트용 확장 한국어 메뉴-Windows 1... [13] VenusGirl 2585 16 02-28
3277 윈 도 우| WinPE 에서 VC 런타임 에러시 수동으로 교체하기 [12] sunshine 1436 9 02-27
3276 소프트웨어| PE에서 시작메뉴, 작업표시줄에 고정(두 번째) [13] 대추사랑 2872 10 02-26
3275 기 타| 프로그램없이 유튜브 동영상 다운로드하기 [15] AMD Mania 5605 14 02-21
3274 서버 / IT| [팁] 웹페이지/블로그에 카운터 위젯 다세요 [3] asklee 1400 5 02-19
» 소프트웨어| ThinApp 사용하여 포터블(가상화) 프로그램 만들기. [24] 대추사랑 4298 19 02-18
3272 소프트웨어| Chrome 브라우저 마그넷 확인 옵션 수정 방법 [1] DeathWing 2546 6 02-14
3271 윈 도 우| 안지워지는 DLL 파일 삭제하기 [6] 블뤠버 4818 10 02-13
3270 소프트웨어| PE에서 작업표시줄과 시작메뉴에 아이콘 고정에 대해서. [15] 대추사랑 2491 16 02-12
3269 소프트웨어| Win10PE 2016_LTSB_x64 PE 만들기 [24] 대추사랑 6058 25 02-12
3268 윈 도 우| 윈도우10 RS3 디펜더 랜섬웨어 보호기능 강화 [5] DeathWing 3863 8 02-11
3267 윈 도 우| 탐색기폴더 자동정렬NO 자유도 극강 만들기 ★★★ [6] Star★Bros 3848 6 02-09
3266 소프트웨어| 고속 복사 프로그램 속도 비교 [13] 번개 4825 5 02-09
3265 윈 도 우| [윈짤팁] 마우스만 가지고 여러 파일 선택하기 [9] 블뤠버 2908 5 02-09
3264 윈 도 우| 블루스크린 오류 코드 목록 [7] VenusGirl 8568 12 02-06
3263 윈 도 우| Windows 10 사용자 계정 및 폴더 이동 / 변경 [5] VenusGirl 3812 5 02-05
XE1.11.6 Layout1.4.8