2016-06-17 2 views
1

웹 사이트에서 다운로드 할 수있는 MSI가 있습니다. 현재 설치 프로그램을 다운로드하면 MSI의 값이 업데이트됩니다 (설치 구성). 유일한 문제는 MSI가 이것을 수행 한 후에 서명되지 않는다는 것입니다 (이미있는 경우).테이블의 값을 업데이트 한 후 MSI에 서명 할 수 있습니까?

다시 빌드하지 않고 설치 프로그램에 서명 할 수있는 방법이 있습니까?

답변

2

Microsoft는이 목적으로 사용할 수있는 signtool.exe라는 유틸리티를 제공합니다.

는 사용하여 파일을 서명 할 인증서를 설치, 개발 컴퓨터에 Windows Installer 파일 (.msi)

에 서명합니다.

Visual Studio 명령 프롬프트를 엽니 다. .msi 파일이 들어있는 디렉터리로 변경하십시오. 다음 명령을 사용하여 .msi 파일을 가입 :

signtool sign /sha1 CCB... ExcelAddInSetup.msi 

이 서명하려면 : ExcelAddInSetup.msi라는 설정 파일에 서명 예를 들어

signtool sign /sha1 CertificateHash SetupFile.msi 

을, 다음 명령을 사용합니다 설치 프로그램 (.exe)

개발 컴퓨터에서 파일에 서명 할 인증서를 설치하십시오. Visual Studio 명령 프롬프트를 엽니 다. .exe 파일이있는 디렉터리로 변경하십시오. 다음 명령을 사용하여 .exe 파일을 가입 : SignTool에서 기호/SHA1의 CCB ... Setup.exe를

https://msdn.microsoft.com/en-us/library/ee290833(v=vs.100).aspx : 설치 프로그램에 서명 예를 들어

signtool sign /sha1 CertificateHash Setup.exe 

을, 다음 명령을 사용합니다

0

고객이 인증서에 아무것도 서명하지 않고 인증서 ID를 효과적으로 사용할 수 있기 때문에 인증서를 고객에게 제공하고 싶지 않다고 가정합니다.

수정 방법을 정확히 알지 못해도이 방법이 효과가 있다는 것을 확신하기는 어렵지만 시작한 후에도 테이블 내용을 사용하기 전에 사용자 지정 작업으로 MSI를 변경할 수 있습니다. 예를 들어 속성 ​​테이블에 행을 추가하려면 속성을 사용하는 사용자 지정 동작 전에 속성 테이블에 행을 추가하여 (현재 메모리가있는) MSI를 업데이트하는 사용자 지정 동작이 있어야합니다.

1

배포 엔지니어가 사용하는 가장 간단한 방법 및 표준은 create a MST filedeploy the MSI together with the MST입니다.

MST는 기존 속성의 새 속성이나 업데이트 된 값을 포함 할 수 있으며 원본 MSI 패키지의 내용에 영향을주지 않고 MSI 설치에 적용 할 수 있으므로 디지털 서명이 유효합니다.

+0

이것은 위에서 제안한 것에 대한 탁월한 해결책이며, 나는이 기회를 제공하고 어떻게 진행되는지 살펴 보겠습니다. – Brian

관련 문제