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


비밀번호

댓글 작성자
 




... 46  [47] 
NoWriterDateCnt.TitleFile(s)
18정성태9/19/200411819HTML SELECT 요소에 OPTION 요소를 채우는 C/C++ 예제파일 다운로드1
17정성태11/14/200510595[정보] Visual Studio 6.0 Samples
16정성태9/5/200411744JAVA 로 구현된 NTLM 구현파일 다운로드1
15정성태9/2/200410407Developing Active Server Components with ATL
14정성태7/20/200410725No-Touch Deployment
13정성태6/30/200410802How to read BLOB from Dataset into buffer?
11정성태2/14/200410696XMLHTTP 에서 반환받은 non-XML 데이터를 보여주는 모듈
10정성태2/14/200413659MSIL 디컴파일러 - .NET Reflector [1]
9정성태1/26/200412027스크립트 디코더파일 다운로드1
159정성태12/23/20059688    답변글 [업데이트]: 스크립트 디코더파일 다운로드1
8정성태1/26/200414604게시물 도배 프로그램 방지
7정성태1/26/200413093Microsoft.XMLHTTP 개체로 XML 이 아닌 다른 데이터 가져오기
6정성태8/6/200311843Three Ways to Inject Your Code into Another Process파일 다운로드1
5정성태7/29/200311971SQL 서버 sa 암호를 잊은 경우, 복구하는 방법파일 다운로드1
4정성태7/25/200313533DiskId32 - 물리하드 디스크 정보파일 다운로드2
12정성태6/11/200410459    답변글 [추가] WMI 로 구하는 방법파일 다운로드1
3정성태7/25/200312108C# 프로그래밍 언어에 추후 추가되는 기능파일 다운로드1
2정성태7/25/200312391INFO: COM+ 1.0의 새로운 기능파일 다운로드1
... 46  [47]