2009-08-01 3 views
0

사용자가 설치 프로그램을 클릭 할 때 알 수없는 공급 업체에 메시지를 보내지 않도록 코드에 서명하는 절차는 무엇입니까?Windows XP에서 Lauch4J/NSIS 설치 프로그램의 코드 서명?

내 설치가

응용 프로그램은 자바 기반입니다. launch4j로 jar 포장하기 설치 프로그램은 nsis를 기반으로합니다.

내 빌드 플랫폼이 xp입니다.

설치가 끝나면 다른 한가지가 있습니다. 설치가 비스타에서 설치가 성공적이지 않았다고 말하는 팝업이 나타납니다. 어떻게 제거 할 수 있습니까?

답변

1

경고를 없애려면 setup.exe에 서명해야합니다. Microsoft signtool.exe 및 코드 서명 인증서를 가져온 다음 (컴퓨터에 가져 왔는지 확인) 배치 파일을 만듭니다.

signtool sign/v/s my/n "My Display Company"/ d "My 디스플레이 응용 프로그램 "/ du"My support URL "/ t"http://timestamp.verisign.com/scripts/timstamp.dll "path_to_setup.exe

SignTool.exe는 Visual Studio 및 Platform SDK에서 설치됩니다.

0

JarSigner을 살펴보십시오. 공개 키 인프라를 사용하여 작동하므로 CA가 $$$의 비용을 부담하는 CA의 서명을 받아야합니다. Ant와 Maven 둘 다 항아리를 만들 때 플러그인을 사용합니다. 이것들은 launch4j와 nsis로 싸이기 전에 항아리에 수행되어야합니다.

저는 nsis에 익숙하지 않지만 설치 프로그램이 자바 기반이라면 출력 Jar에도 서명해야 할 수도 있습니다.

0

launch4j가 어떻게 작동하는지 모르지만 NSIS 스크립트를 변경할 수 있다고 가정합니다. .exe에 서명하려면 "CRCCheck off"를 추가해야합니다.

nsis 스크립트에 RequestExecutionLevel (user 또는 admin)을 추가하면 Vista 경고를 제거해야합니다 (제거 프로그램이 레지스트리에 추가되지 않고 exe에 Vista가없는 경우 설치 프로그램으로 탐지 된 프로그램에서이 경고를 표시합니다) 매니 페스트)