๐ฝ ์ด๊ธฐ ์ธํ ์ ๋ํ ๋ด์ฉ์ ์ด์ ์ฑํฐ๋ฅผ ์ฐธ๊ณ ํด์ฃผ์ธ์
[C++ / MFC] Visual Studio์์ ์ค์นํ๋ก๊ทธ๋จ ๋ง๋ค๊ธฐ (1)
์ธ์คํจ์ด๋ ๊ฐ์ ํด์ด ์ง์๋๋ ๊ธฐ๋ฅ๋ ๋ง๊ณ ๊ฐํธํ๊ธด ํ์ง๋ง Visual Studio์์ ํ์ฅํ๋ก๊ทธ๋จ์ผ๋ก ์ง์๋๋ ํด๋ ์ฌ์ฉํด๋ณด๋ ๊ธฐ๋ณธ์ ์ธ ์ค์นํ๋ก๊ทธ๋จ์ ๋ง๋๋๋ฐ๋ ํฌ๊ฒ ๋ฌธ์ ๊ฐ ์๋ ๊ฒ ๊ฐ์์ ์
dev-drive.tistory.com
โป Installer ํ๋ก์ ํธ ์์ฑ
โป ์ฌ์ฉํ ๋งํ ์ต์ ๋ค์ ๋ํด์๋ง ์ ๋ฆฌํด๋ณด๊ฒ ์ต๋๋ค.
ํญ๋ชฉ | ์ค๋ช |
AddRemoveProgramIcon | ํ๋ก๊ทธ๋จ ์ถ๊ฐ/์ ๊ฑฐ์ ํ์๋๋ ์์ด์ฝ ์ค์ |
Author | ํ์ฌ ์ด๋ฆ, ๊ฐ์ธ ์ด๋ฆ ๋ฑ ์์์ ์ด๋ฆ ์ค์ |
DetectNewerInstalledVersion | ์ค์นํ๋ ๋์ ์ ํ๋ฆฌ์ผ์ด์ ์ ์ต์ ๋ฒ์ ์ ํ์ธํ ์ง ์ฌ๋ถ๋ฅผ ์ง์ |
InstallAllUsers | ๋ชจ๋ ์ฌ์ฉ์์ฉ์ผ๋ก ์ค์น / ์์ ๋ง ์ค์น ๊ธฐ๋ณธ๊ฐ ์ค์ |
Localization | ๋ฌธ์์ด ๋ฆฌ์์ค / ์ ์ ์ธํฐํ์ด์ค์ ๋ํ ๋ก์ผ์ผ ์ค์ |
Manufacturer | ์ ์กฐ์ ์ฒด ์ด๋ฆ ์ค์ |
ManufacturerUrl | ์ ์กฐ์ ์ฒด ์น ์ฌ์ดํธ URL ์ค์ |
PostBuildEvent | ๋น๋๊ฐ ๋๋ ํ ์คํ๋ ๋ช ๋ น ์ค์ |
PreBuildEvent | ๋น๋ ์ด์ ์ ์คํ๋ ๋ช ๋ น ์ค์ |
ProductName | ์ ํ ์ด๋ฆ ์ค์ |
RemovePreviousVersions | ์ค์นํ ๋ ์ด์ ๋ฒ์ ์ ์ ๊ฑฐํ ์ง ์ฌ๋ถ ์ค์ |
RunPostBuildEvent | ๋น๋ ํ ์ด๋ฒคํธ๊ฐ ์คํ๋๋ ์กฐ๊ฑด ์ค์ |
TargetPlatform | ๋์ ํ๋ซํผ ์ง์ |
Title | ์ธ์คํจ๋ฌ ํ์ดํ ์ง์ |
Version | ์ธ์คํจ๋ฌ ๋ฒ์ ์ง์ |
โป Installer ํ๋ก์ ํธ ์์ธ ์ค์
๋ ์ง์คํธ๋ฆฌ๋ ํน์ ๊ฐ ์ ์ฅ์ด ํ์ํ ๊ฒฝ์ฐ ์ฌ์ฉํ๊ณ
์ฌ์ฉ์ ์ธํฐํ์ด์ค๋ ์ค์น ์ค ๋์ค๋ ํ๋ฉด์ ๊พธ๋ฏธ๊ธฐ ์ํด ์ฌ์ฉ๋ฉ๋๋ค.
๊ทธ๋ฆฌ๊ณ ํ์ผ ์์คํ ์ ํน์ ์์น์ ํ์ผ์ด๋ ํด๋๋ฅผ ์์ฑํ๋ ์ญํ ์ ํฉ๋๋ค.
์์๋๋ก ์ ๋ฆฌํด๋ณด๊ฒ ์ต๋๋ค.
1. ๋ ์ง์คํธ๋ฆฌ ์ถ๊ฐ
[Manufacturer]๋ [โป Installer ํ๋ก์ ํธ ์์ฑ] ์์ ์ค์ ํ ๊ฐ์ ๋๋ค.
AlwaysCreate๋ฅผ True๋ก ์ค์ ํด์ผ ํด๋๊ฐ ์์ฑ๋ฉ๋๋ค.
์ค์น ํ regedit๋ฅผ ์คํํ์ฌ ํ์ธํด๋ณด๋ฉด ํด๋น ์์น์ ํด๋๊ฐ ์์ฑ๋๊ณ ๊ฐ์ด ์ ์ฅ๋๊ฑธ ํ์ธํ ์ ์์ต๋๋ค.
2. ์ฌ์ฉ์ ์ธํฐํ์ด์ค ์ค์
๊ธฐ๋ณธ์ ์ผ๋ก ๋ฐฐ๋, ํ ์คํธ, ํ๋ก๊ทธ๋ ์ค ๋ฐ ํ์ ์ฌ๋ถ ๋ฑ ๊ฐ๋จํ ํญ๋ชฉ๋ค์ ์ค์ ํ ์ ์๊ณ
Start, Progress, End ํญ๋ชฉ์์ ์ฐํด๋ฆญํด์ ๋ํ์์ ์ถ๊ฐ ๋ฉ๋ด๋ฅผ ์ ํํ๋ฉด
์๋์ ๊ฐ์ด ๋ค์ํ ์ธํฐํ์ด์ค๋ฅผ ์ถ๊ฐํ ์ ์์ต๋๋ค.
BannerBitmap์ ์ฌ์ฉ์๊ฐ ์ค์นํ ๋ ์ด๋ฏธ์ง๊ฐ ์์ด์ผ๋๋ฏ๋ก ์ธ์คํจ๋ฌ ํ๋ก์ ํธ์ ํฌํจ๋ ์ด๋ฏธ์ง๋ง ์ถ๊ฐ ๊ฐ๋ฅํฉ๋๋ค.
๋ฐฐ๋๋ก๋ง ์ฌ์ฉํ๊ณ ์ฌ์ฉ์ pc์ ์ค์นํ์ง ์์๋ ๋๋ ํ์ผ์ด๋ฉด Exclude ์ต์ ์ ์ฃผ๋ฉด ๋๊ฒ ์ต๋๋ค.
์ ํํ ํฌ๊ธฐ์ธ์ง๋ ๋ชจ๋ฅด๊ฒ ์ง๋ง 492 x 68์ ๋ ํฌ๊ธฐ์ ์ด๋ฏธ์ง๋ฉด ๋ญ๊ฐ์ง์ง์๊ณ ์ ๋์ค๋๊ฒ ๊ฐ์ต๋๋ค.
CopyrightWarning๊ณผ WelcomeText์ ์ค์ ๋ ๊ฐ์ ๊ธฐ๋ณธ๊ฐ์ธ๋ฐ ์์ด๋ก ์ ๋ ฅ๋์ด ์์ง๋ง
ํ๊ธ๋ก ๋์ค๋๊ฑธ ํ์ธํ ์ ์์ต๋๋ค.
์๋ง ๋ฌธ์์ด ํ ์ด๋ธ์ด ์๊ณ ์ค์ ๋ locale์ ๋ฐ๋ผ ์ธ์ด๋ฅผ ๋ณ๊ฒฝํด์ฃผ๋ ๊ฒ ๊ฐ์ต๋๋ค.
์ ํ ์คํธ์์ ์กฐ๊ธ์ด๋ผ๋ ์์ ํ๋ฉด ์ ๋ ฅํ ์์ด ๊ทธ๋๋ก ์ถ๋ ฅ๋ฉ๋๋ค.
๋ฐ๋ก ์ ๋ ฅํด์ผ ๋ ์๋ด๋ฌธ์ด ์๋ค๋ฉด ์ ๋ ฅํด์ฃผ๋ฉด ๋ ๊ฒ ๊ฐ์ต๋๋ค.
3. ํ์ผ ์์คํ ์ค์
ํ์ผ ์์คํ ์ ๋ณด์๋ค์ํผ ์ค์นํ ๋ ํน์ ์์น์ ํ์ผ์ด๋ ํด๋๋ฅผ ์์ฑํ๋ ์ญํ ์ ํฉ๋๋ค.
์๋ฅผ ๋ค์ด ํ๋ก๊ทธ๋จ์ ์ค์นํ ๋ Common Files ํด๋ ์๋์ SetupTest ํด๋๋ฅผ ๋ง๋ค๊ณ compluslm.dll์ ๋ณต์ฌํ๊ณ ์ถ์ผ๋ฉด ์์ ๊ฐ์ด ์ค์ ํ๋ฉด ๋ฉ๋๋ค.
โป ํด๋์ ์ค์ ๊ฒฝ๋ก์ ๋ํด ์ ๋ฆฌํด๋ณด๊ฒ ์ต๋๋ค. (64๋นํธ ๊ธฐ์ค)
ํญ๋ชฉ | ์ค๋ช |
๊ณต์ฉ ํ์ผ ํด๋ | C:\Program Files (x86)\Common Files |
๊ณต์ฉ ํ์ผ(64๋นํธ) ํด๋ | C:\Program Files\Common Files |
๊ธ๊ผด ํด๋ | C:\Windows\Fonts |
ํ๋ก๊ทธ๋จ ํ์ผ ํด๋ | C:\Program Files (x86) |
ํ๋ก๊ทธ๋จ ํ์ผ(64๋นํธ) ํด๋ | C:\Program Files |
์์คํ ํด๋ | C:\Windows\SysWOW64 |
์์คํ (64๋นํธ) ํด๋ | C:\Windows\System32 |
์ฌ์ฉ์ ์ ํ๋ฆฌ์ผ์ด์ ๋ฐ์ดํฐ ํด๋ | C:\Users\UserName\AppData\Roaming |
์ฌ์ฉ์ ๋ฐํ ํ๋ฉด | C:\Users\UserName\Desktop |
์ฌ์ฉ์ ์ฆ๊ฒจ์ฐพ๊ธฐ ํด๋ | C:\Users\UserName\Favorites |
์ฌ์ฉ์ ๊ฐ์ธ ๋ฐ์ดํฐ ํด๋ | C:\Users\UserName\Documents |
์ฌ์ฉ์ ํ๋ก๊ทธ๋จ ๋ฉ๋ด | C:\Users\UserName\AppData\Roaming\Microsoft\Windows\Start Menu\Programs |
์ฌ์ฉ์ ๋ณด๋ด๊ธฐ ๋ฉ๋ด | C:\Users\UserName\AppData\Roaming\Microsoft\Windows\SendTo |
์ฌ์ฉ์ ์์ ๋ฉ๋ด | C:\Users\UserName\AppData\Roaming\Microsoft\Windows\Start Menu |
์ฌ์ฉ์ ์์ ํด๋ | C:\Users\UserName\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup |
์ฌ์ฉ์ ํ ํ๋ฆฟ ํด๋ | C:\Users\UserName\AppData\Roaming\Microsoft\Windows\Templates |
Windows ํด๋ | C:\Windows |
์ ์ญ ์ด์ ๋ธ๋ฆฌ ์บ์ ํด๋ | C:\Windows\assembly |
์ฌ์ฉ์ ์ง์ ํด๋ | ์ํ๋ ํด๋ ์ง์ |
์ฌ๊ธฐ์ ์ฌ์ฉ์ ์ง์ ํด๋๋ ์ ๋ ๊ฒฝ๋ก๋ก ์ ๋ ฅํด๋ ๋์ง๋ง ์ฌ๋ฌ๊ฐ์ง ์ง์๋๋ ๋งคํฌ๋ก๊ฐ ์์ต๋๋ค.
ํญ๋ชฉ์๋ ์ด์ ๋๋ง ๋์ค์ง๋ง ์๋์ ๊ฐ์ ๋งคํฌ๋ก๋ ์ฌ์ฉ ๊ฐ๋ฅํฉ๋๋ค.
[WindowsVolume] = ์๋์ฐ๊ฐ ์ค์น๋ ๋๋ผ์ด๋ธ
[Manufacturer] = ์ ์กฐ์ ์ฒด ์ด๋ฆ
[ProductName] = ์ ํ ์ด๋ฆ
...
์๋ฅผ ๋ค์ด ์์ ๊ฐ์ด ์ฌ์ฉํ๋ฉด ์ค์ ํ ํ๋ก๊ทธ๋จ์ ์ค์นํ๋ฉด ์๋ ์ฒ๋ผ ํด๋น ํด๋์ ํ์ผ์ด ์์ฑ๋ฉ๋๋ค.
์ด๋ ํด๋๊ฐ ์์ผ๋ฉด ํ์ผ์ด ์์ฑ๋์ง ์์ผ๋ AlwaysCreate ์ต์ ์ True๋ก ์ค์ ํด์ค๋๋ค.
์ ์์ ๋ ๋งคํฌ๋ก๋ฅผ ํ์ฉํด์ DefaultLocation ์ต์ ์ ๊ฐ์ ์ ๋ ฅํด์ ์ฒ๋ฆฌํ์ง๋ง
์๋์ ๊ฐ์ด ์ง์ ํด๋๋ฅผ ์์ฑํ๋ ๊ฒ๋ ๊ฐ๋ฅํฉ๋๋ค.
์ถ๊ฐ์ ์ผ๋ก ํ๋ก๊ทธ๋จ.exe๊ฐ ์์ฑ๋ Application Folder๋ ๋ฐ๋์ ์กด์ฌํด์ผ๋๊ธฐ ๋๋ฌธ์
๋ง์ฐฌ๊ฐ์ง๋ก AlwaysCreate ์ต์ ์ True๋ก ์ค์ ํด์ค๋๋ค.
์ด ์์น์ ํ๋ก๊ทธ๋จ.exe๊ฐ ์คํ๋ ๋ ํ์ํ dll์ด๋ ํ์ผ๋ค์ด ์๋ค๋ฉด ์ถ๊ฐํด์ค๋๋ค.
Application Folder > ์ฐํด๋ฆญ > Add > ํ๋ก์ ํธ ์ถ๋ ฅ > ๊ธฐ๋ณธ ์ถ๋ ฅ์ ์ถ๊ฐํ๋ฉด
ํ๋ก์ ํธ์์ ๋น๋ํ exe, dll ๋ฑ์ด ์ค์ ํ ๊ฒฝ๋ก์ ๋ณต์ฌ๋ฉ๋๋ค.
๐ฝ ์์ธํ ๊ธฐ๋ฅ๋ค์ ๋ํ ๋ด์ฉ์ ์๋ ์ฌ์ดํธ๋ฅผ ์ฐธ๊ณ ํด๋ณด์ธ์
Getting Started With Setup Projects - Simple Talk
This article describes the basics of Visual Studio setup and deployment projects. Subsequent articles will cover more on custom actions, .NET installer classes, and an upgrade for the product.
www.red-gate.com
๋๊ธ