Microsoft MVP성태의 닷넷 이야기
.NET : 122. msiexec.exe를 닷넷으로 만들어 보면! [링크 복사], [링크+제목 복사]
조회: 20009
글쓴 사람
정성태 (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)
975정성태10/9/200810602.NET : 88. ClickOnce에서 .application 파일을 다운로드 하려고 할 때.
974정성태10/8/200810611TFS : 168. MSBuild Extension Pack
973정성태10/5/200812290.NET 3.5 : 42. WPF - Web Browser 및 Splash Control 추가
972정성태10/2/200810576TFS : 167. TFS Power Tools 다음 버전 소개
971정성태9/22/200810902TFS : 166. Index cards and Team System
970정성태9/16/200810886Vista : 53. 설치 디스크를 USB 로 만들기
968정성태9/11/200810510XML Conformance Level 에 Fragment 값이 쓰이는 경우.
967정성태9/8/200810625.NET : 87. CertEnroll 개체를 이용한 인증서 요청/반환/설치
966정성태9/2/200810660.NET : 86. .NET Framework 3.5 SP1 소스 코드 공개
965정성태9/2/200811619Vista : 52. SPI(Stateful Packet Inspection) 옵션 제거
964정성태8/18/200812635.NET 3.0 : 24. WPF DataGrid
969정성태9/16/200810885    답변글 .NET 3.0 : 24.1 Editing Tabular Data in WPF - Building a WPF Grid
963정성태7/25/200811691.NET : 85. VPL(Visual Programming Language)를 아세요?
962정성태7/24/200810725TFS : 165. WorkItem 에 대해 Full Text 검색
961정성태7/20/200810675.NET : 84. WCSF Application Architecture
960정성태7/14/200810520.NET : 83. Non Paged CLR Host
959정성태7/7/200811055.NET : 82. Composite Application Guidance for WPF
958정성태7/7/200812203.NET : 81. C# - 왜 모든 함수호출에서 callvirt 를 사용할까?
957정성태6/30/200811201GUID
956정성태6/27/200810708TFS : 164. 팀 프로젝트 간 WorkItem 이동 방법
955정성태6/26/200811235TFS : 163. 삭제된 항목을 소스 컨트롤 탐색기에서 보이도록 하는 방법
954정성태6/20/200810857Debug : 37. IDE 디자인 모드에서의 디버깅 기법
953정성태6/10/200811709.NET : 80. Unity Application Block 소개(?) [1]
952정성태4/28/200810974.NET : 79. IconHandler 2.0
951정성태4/28/200811383SDK : 14. STA / MTA 기원
950정성태4/24/200810484.NET : 78. Ajax View
1  2  3  4  5  6  7  8  [9]  10  11  12  13  14  15  ...