티스토리 뷰
비스타에서 설치 프로젝트 권한상승 하기
비스타가 출시되면서 화려해진 인터페이스 만큼 수많은 부분에서 이슈가 생겼습니다. 게임/시스템/개발 등의 대체로 전반적인 부분에서 사용자들의 따가운 질타를 받아왔습니다.
그 중에서 배포 프로젝트와 관련하여 알아보았던 [.NET/Visual Studio] - VS2008 SETUP Project 의 설치시 Vista 권한 상승 기능
을 이용하여 해결할 수 있었습니다. 하지만 Windows Installer 에 의한 MSI 설치 파일을 약간 다른 방법으로 해결해야 합니다.
을 이용하여 해결할 수 있었습니다. 하지만 Windows Installer 에 의한 MSI 설치 파일을 약간 다른 방법으로 해결해야 합니다.
Windows Installer 에 의한 MSI 설치 파일 권한 상승 방법
Windows Installer 는 msiexec 에 의해 설치파일(.MSI) 설치 환경을 제공해 줍니다. 때문에 근본적으로 MSI 설치 파일의 관리자 권한을 획득하기 위해서는…
1. 비스타의 UAC 기능을 제거하는 방법입니다.
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System 의 EnableLUA 키값을 변경하여 UAC 기능을 허용/제거 할 수 있습니다. ( 1은 UAC On/ 0은 UAC Off)
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System 의 EnableLUA 키값을 변경하여 UAC 기능을 허용/제거 할 수 있습니다. ( 1은 UAC On/ 0은 UAC Off)
2. Msiexec.exe 를 관리자 권한으로 실행하는 것이 가장 손쉽게 관리자 권한을 얻는 방법일 것입니다. Msiexec.exe 에 의해 MSI 설치 파일이 호스팅 된다는 것을 생각해 본다면 아마도 당연한 방법일 것입니다.
3. 지난번에 말씀드렸던 Orca Tool 을 이용하여 MSI 파일의 스크립트를 조작하는 방법입니다. 하지만, 빌드 후에 매번 Orca Tool 로 스크립트를 조작하기엔 너무나도 번거롭고 불편합니다.
하지만, 이 툴을 이용하여 빌드 단계를 거치지 않고, 설치 프로젝트의 제목이나 설치 경로 등의 스크립트를 조작할 수 있기 때문에, 가끔씩 매우 유용하게 사용할 수 있습니다.
하지만, 이 툴을 이용하여 빌드 단계를 거치지 않고, 설치 프로젝트의 제목이나 설치 경로 등의 스크립트를 조작할 수 있기 때문에, 가끔씩 매우 유용하게 사용할 수 있습니다.
하지만, 강제로 사용자의 UAC 기능을 제거하는 방법은 그다지 좋은 방법이 아니고. 또한, 나머지 방법들도 효율적이지 않습니다.
빌드 이벤트를 이용한 MSI 설치 파일 권한 상승 하기
우선 Windows Installer Development Kit 을 다운로드 받도록 합니다. 제법 용량이 크고, 설치도 오래 걸립니다. 이 Kit 의 WiRunSql.vbs 파일이 필요한데, 이 파일만 구할 수 있다면 굳이 Windows Installer Development Kit 전체를 받을 필요는 없을 것 같네요.
1. WiRunSql.vbs 파일을 설치 프로젝트 폴더에 복사합니다.
cscript //nologo "$(ProjectDir)WiRunSql.vbs" "$(BuiltOuputPath)" "UPDATE CustomAction SET CustomAction.Type=3073 WHERE CustomAction.Type=1025 AND CustomAction.Source='InstallUtil' AND CustomAction.Target='ManagedInstall'"
cscript //nologo "$(ProjectDir)WiRunSql.vbs" "$(BuiltOuputPath)" "UPDATE CustomAction SET CustomAction.Type=3585 WHERE CustomAction.Type=1537 AND CustomAction.Source='InstallUtil' AND CustomAction.Target='ManagedInstall'" |
Orca Tool 로 MSI 프로젝트 내부를 한번이라도 보셨다면 저 희한한 문장이 무엇을 의미 하는지는 아실 것 같습니다.
위와 같이 간단하게 Windows Installer Development Kit 의 vbs 스크립트를 이용하여 MSI 설치 파일의 비스타 권한 상승 효과를 얻을 수 있습니다. 단, MSI 설치 파일 실행 시 관리자 권한 상승 창이 뜨는 것은 아니고, 실제 설치 중 ProgressBar 가 나타나게 되면, 권한 상승 창이 뜨게 됩니다.
너무 쉬었네… ㅠ.ㅠ
그 동안 너무 쉬었던 탓에, 블로그 글 쓰는 것이 너무너무 버겁습니다;; 이거 써놓고, 또 한 달을 띵가띵가 쉴 지 모르죠 ㅋ;;; 아무튼 이번 달에 Silverlight 2.0 Beta 출시를 시작으로 많은 MS 의 신제품이 출시가 되네요. 정말 기대가 많습니다.
'.NET > Visual Studio' 카테고리의 다른 글
[월간 마이크로소프트 5월호 특집기사] Windows 8 시대를 준비하는 Visual Studio 2012를 마치며 (1) | 2012.08.01 |
---|---|
[월간 마이크로소프트 5월호 특집기사] Windows 8 시대를 준비하는 Visual Studio 2012 (0) | 2012.08.01 |
[웹케스트] 설치 프로젝트를 이용하여 배포하기 #2 (1) | 2008.02.02 |
[웹케스트] 설치 프로젝트를 이용하여 배포하기 #1 (2) | 2008.02.01 |
VS2008 SETUP Project 의 설치시 Vista 권한 상승 기능 (0) | 2008.01.17 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
- ***** MY SOCIAL *****
- [SOCIAL] 페이스북
- [SOCIAL] 팀 블로그 트위터
- .
- ***** MY OPEN SOURCE *****
- [GITHUB] POWERUMC
- .
- ***** MY PUBLISH *****
- [MSDN] e-Book 백서
- .
- ***** MY TOOLS *****
- [VSX] VSGesture for VS2005,200…
- [VSX] VSGesture for VS2010,201…
- [VSX] Comment Helper for VS200…
- [VSX] VSExplorer for VS2005,20…
- [VSX] VSCmd for VS2005,2008
- .
- ***** MY FAVORITES *****
- MSDN 포럼
- MSDN 라이브러리
- Mono Project
- STEN
- 일본 ATMARKIT
- C++ 빌더 포럼
- .
TAG
- ALM
- Windows 8
- Visual Studio
- .NET Framework 4.0
- LINQ
- 비주얼 스튜디오 2010
- TFS 2010
- Team Foundation Server 2010
- 팀 파운데이션 서버
- 땡초
- Silverlight
- ASP.NET
- monodevelop
- c#
- umc
- 엄준일
- 비주얼 스튜디오
- Team Foundation Server
- POWERUMC
- Visual Studio 11
- Managed Extensibility Framework
- .NET
- github
- Visual Studio 2008
- TFS
- Visual Studio 2010
- testing
- MEF
- test
- mono