Microsoft MVP성태의 닷넷 이야기
.NET : 122. msiexec.exe를 닷넷으로 만들어 보면! [링크 복사], [링크+제목 복사],
조회: 20068
글쓴 사람
정성태 (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]


비밀번호

댓글 작성자
 




... 16  17  18  19  20  21  [22]  23  24  25  26  27  28  29  30  ...
NoWriterDateCnt.TitleFile(s)
650정성태2/17/200710026TFS : 82. ASP.NET - Team Build 후에 파일 복사
649정성태2/13/200710036TFS : 81. 팀빌드 속도 향상 방법
648정성태2/13/200711523Vista : 36. Private Namespaces 사용하는 방법
647정성태2/13/20079645TFS : 80. 팀빌드 - 상세 오류 남기는 방법
646정성태2/13/20079749개발 환경 구성: 77. Synchronization Services for ADO.NET Documentation [1]
645정성태2/13/200710147TFS : 79. 코드 리뷰
644정성태2/10/200710130TFS : 78. Workspace 캐시 삭제
643정성태2/9/20079930TFS : 77. 사용자 정의 WorkItem 만들기
642정성태2/9/20079543TFS : 76. 이벤트 구독 도구 (사용자 정의)
641정성태2/9/200711359Visual C++ : 8. VC++ 런타임 배포 패키지를 silent mode로 설치
640정성태2/9/200710559.NET 3.5 : 4. System.Collections.Generic.HashSet<T> 소개
639정성태2/8/200710543.NET 3.5 : 3. System.Numeric.BigInteger 소개
638정성태2/8/200710389Vista : 35. 팁 관련 모음
637정성태2/13/20079800개발 환경 구성: 76. "Red and Green" model
636정성태2/8/20079811Vista : 34. IE 재시작 방법
635정성태2/8/200710381Vista : 33. Restart Manager
634정성태2/8/200710858Vista : 32. 특정 레지스트리 키에 대해 "가상화" 지원 여부를 알아내는 방법
633정성태2/7/200710612개발 환경 구성: 75. 32비트 운영체제에서 64비트 비스타 운영체제 설치 불가
632정성태2/6/200710775.NET 3.0 : 13. WPF 응용 프로그램을 지역화하는 방법
631정성태2/6/20079905TFS : 75. 팀 빌드에서 원하는 소스 폴더만을 내려받도록 구성.
630정성태2/6/200710117.NET 3.0 : 12. WCF 와 XmlSerializer
629정성태2/4/20079626Vista : 31. 보안 테스트 관련 기사
628정성태2/4/200710156개발 환경 구성: 74. VS.NET - 매크로 함수 내에서 클립보드 API 사용
627정성태2/2/20079483개발 환경 구성: 73. ASP.NET Ajax Demo Site
626정성태2/2/20079784TFS : 74. TFS Proxy 설정 유틸리티
625정성태2/2/20079575TFS : 73. Team System 관련 유틸리티 목록
... 16  17  18  19  20  21  [22]  23  24  25  26  27  28  29  30  ...