Microsoft MVP성태의 닷넷 이야기
.NET : 122. msiexec.exe를 닷넷으로 만들어 보면! [링크 복사], [링크+제목 복사]
조회: 19973
글쓴 사람
정성태 (techsharer at outlook.com)
홈페이지
첨부 파일

“Make things as simple as possible, but not simpler.” [ManagedMsiExec sample app shows how to use the Windows Installer API from managed code]
; (broken) http://blogs.msdn.com/b/delay/archive/2012/01/09/make-things-as-simple-as-possible-but-not-simpler-managedmsiexec-sample-app-shows-how-to-use-the-windows-installer-api-from-managed-code.aspx
; https://dlaa.me/blog/post/10254645

msi.dll 파일을 interop해서 msiexec.exe를 .NET 버전으로 구현한 ManagedMsiExec를 공개하고 있습니다.

-----------------------------------------------
C:\T>ManagedMsiExec
SYNTAX: ManagedMsiExec <--Install|-i|--Uninstall|-u> Package.msi [--Verbose|-v]
Windows Installer result: 87 (INVALID_PARAMETER)

C:\T>ManagedMsiExec -i Package.msi
ManagedMsiExec: Installing C:\T\Package.msi
Windows Installer result: 0 (SUCCESS)

C:\T>ManagedMsiExec -u Package.msi
ManagedMsiExec: Uninstalling C:\T\Package.msi
Windows Installer result: 0 (SUCCESS)

C:\T>ManagedMsiExec -u Package.msi -v
ManagedMsiExec: Uninstalling C:\T\Package.msi
ACTIONSTART: Action 18:31:21: INSTALL.
INFO: Action start 18:31:21: INSTALL.
COMMONDATA: 1: 0 2: 1033 3: 1252
PROGRESS:
PROGRESS: 1: 2 2: 189440
COMMONDATA: 1: 0 2: 1033 3: 1252
INFO: This action is only valid for products that are currently installed.
C:\T\Package.msi
COMMONDATA: 1: 2 2: 0
COMMONDATA: 1: 2 2: 1
INFO: DEBUG: Error 2755: Server returned unexpected error 1605 attempting to
  install package C:\T\Package.msi.
ERROR: The installer has encountered an unexpected error installing this package.
  This may indicate a problem with this package. The error code is 2755.
INFO: Action ended 18:31:21: INSTALL. Return value 3.
TERMINATE:
Windows Installer result: 1603 (INSTALL_FAILURE)
-----------------------------------------------

소스 코드는 다음의 경로에서 받을 수 있는데,

ManagedMsiExec
; http://cesso.org/Samples/ManagedMsiExec/ManagedMsiExec.zip

언제 없어질지 모르니 ^^ 이 게시물에도 첨부를 해놓았으니 참고하세요. ^^








[최초 등록일: ]
[최종 수정일: 6/11/2021]


비밀번호

댓글 작성자
 




1  2  3  4  [5]  6  7  8  9  10  11  12  13  14  15  ...
NoWriterDateCnt.TitleFile(s)
1078정성태10/6/200912118IIS : 28. WebDeploy 도구 - WebDeploy Auto-Completion UI
1077정성태10/5/200911029TFS : 175. TFS 2010 - Basic 설치 모드
1076정성태10/5/200911017Debug : 42. 설치 또는 패치 시에 무한 재부팅을 요구하는 현상
1075정성태9/30/200910609Windows 7: 3. XP Mode 응용 프로그램의 다중 모니터 지원 조건
1073정성태9/25/200911371Vista : 56. 목록상자 항목 선택시에 "띵"하는 소리
1072정성태9/24/200918917.NET 3.0 : 34. WPF - 요소의 절대 좌표값 구하기
1071정성태9/17/200910378VS.NET IDE : 52. VS 2010 - WPF 디자이너 확장 코드 예제
1070정성태9/16/200910527VS.NET IDE : 51. Code Snippet 을 이용한 WPF 의존/첨부 속성 정의 코드 생성 [1]
1069정성태8/22/200910784.NET : 105. STM.NET on DevLabs
1068정성태8/20/200912000개발 환경 구성: 130. WinSxS 폴더 이해
1067정성태8/6/200910436개발 환경 구성: 129. Windows Vista/2008에서 .NET 1.1 설치
1066정성태7/31/200912104.NET 3.0 : 33. WPFPresenter.zip - PPT를 XAML 로! [1]
1065정성태7/31/200910467VS.NET IDE : 50. Debugging without executing your application
1064정성태7/28/20099907VS.NET IDE : 49. Visual Studio 2010 ...
1063정성태7/20/200911826Windows 2008 : 13. R2 - Trigger-Start Services [1]
1062정성태7/9/200910239VS.NET IDE : 48. 분리된 환경설정으로 Visual Studio 2008 실행
1061정성태7/9/200910683개발 환경 구성: 128. Web Services Contract First tool
1060정성태7/2/200910949개발 환경 구성: 127. UAC 모드에서 Virtual Server 웹 사이트 접근
1059정성태6/29/200912614x64 : 4. DLL Surrogate의 또 다른 활용 - 32bit응용 프로그램에서 64bit COM개체 호출
1058정성태6/23/200911617.NET 3.0 : 32. WCF - GetObject 로 서비스 프록시 인스턴스를 얻는 방법
1057정성태6/19/200911012.NET 3.0 : 31. WPF - ConveterParameter 로 1개 이상의 값을 전달하고 싶다면?
1056정성태6/17/200910600.NET 3.0 : 30. WPF - 다중 AppDomain에서 WPF 응용 프로그램 호스트
1055정성태6/15/200910493VS.NET IDE : 47. 디버그 중지점(Break Point) 목록 내보내기/가져오기
1054정성태6/6/200910887Vista : 55. FAQ: How do I start a program as the desktop user from an elevated app?
1053정성태6/1/200910407Debug : 41. PDB 다운로드 시도를 없애는 방법
1052정성태5/28/200911500.NET 4.0: 9. .NET Framework 4 Client Profile
1  2  3  4  [5]  6  7  8  9  10  11  12  13  14  15  ...