2013-05-16 7 views
1

WiX을 사용하여 GAC에 .dll 및 게시자 정책을 설치하려고하는 간단한 설치 프로그램을 개발하고 있습니다.Visual Studio 2010에서 이전 버전의 gacutil.exe를 사용하도록합니다. (빌드 작성 이벤트)

성공적으로 설치 프로그램을 사용하여 GAC에 .dll을 추가합니다. 그러나 Visual Studio의 PostBuild 이벤트를 사용하여 msbuild 명령을 실행하려고합니다. 내가해야 할 일의 순서는 다음과 같습니다

  1. 비주얼 스튜디오의 포스트 작성 이벤트에 publisher policy을 만듭니다.

  2. 은 특정 GACUTIL를 사용하여 정책을 게시 명령 al /link:the.config /out:the.policy.dll /keyfile:thekey.snk /platform:x86

  3. 을 실행합니다. 내가 gacutil -i Policy.1.0.TestLibrary.dll를 실행하면 내가 정확 해요 경우

은 Visual Studio에서 새로운 GAC 1에이 정책을 설치합니다, 나는 이전 한 2를 사용하고 싶습니다.

게시 빌드 이벤트에서 특정 gacutil을 사용하도록 Visual Studio에 지시하려면 어떻게해야합니까? 나는 이전 GAC에 Library.v1.0.dll을 게시하는 경우, 또한 The command "...." exited with code 9009.

al /link:"$(SolutionDir)"TestLibrary.dll.config /out:"$(SolutionDir)"Policy.1.0.TestLibrary.dll /keyfile:"$(SolutionDir)"sgKey.snk /platform:x86 

그러나 취득을 한 후 나는 Library.v2를 설치

나는 PostBuild 이벤트에 대해이 작업을 시도했다. 새 GAC의 0.dll, v1.0에서 v2.0으로 게시자 정책을 만들면 서로를 찾을 수 있습니까?

[1] : .Net Framework 4.0 이상에서 사용되는 GAC.
[2] : .Net Framework 3.5 이하 버전에서 사용되는 GAC.

+0

사용하려는 gacutil.exe 버전의 전체 경로를 지정하십시오. C : \ Program Files \ Microsoft SDKs \ Windows \ v6.0A \ Bin \ gacutil.exe와 같습니다. dev 컴퓨터에서 gacutil.exe를 실행하는 것은 매우 나쁜 아이디어입니다. 또한 아무 것도 테스트하지 않으면 고객의 컴퓨터에서 gacutil.exe를 사용할 수 없습니다. –

+0

동의합니다. 나는 원하는 gacutil을 가진 내 자신의 정책을 구축하고 정책과 라이브러리를 WiX에 수동으로 삽입했다. – Sonhja

답변

0

문제가 해결되었습니다. 정책에 일관성이 없었기 때문에 그것이 작동하지 않았습니다 ...