2014-07-14 1 views
2

WPF 응용 프로그램이 있고 MSBuild 명령으로 연속 통합 서버 (TeamCity)에서 ClickOnce 배포를 만들고 있습니다.다른 사람이 배포 할 ClickOnce 응용 프로그램 만들기

그런 다음 배포 파일을 다른 사용자에게 제공하여 .application 파일의 URL을 파일을 호스팅하려는 자체 서버 주소로 수정할 수 있습니다.

문제는 .application 파일을 이와 같이 간단하게 수정할 수 없다는 것입니다. 그것은 사임되어야합니다 ...

.application 파일을 사퇴하지 않고 필요한 것을 할 수있는 간단한 방법이 있습니까?

나는 this linkthis tutorial을 찾았지만 배포에는 Mage.exe가 사용되지 않습니다. MSBuild를 배포 한 후 필요한 작업을 수행하려면 어떻게해야합니까?

내 매개 변수 :

/P:Configuration=Release /P:Platform="x86" /P:DeployTarget="Publish" /P:SupportUrl="http://www.company.com" /P:ErrorReportUrl="http://www.company.com" /P:PublisherName="company" /P:ProductName="Product name" /P:TrustUrlParameters="true" /P:UpdateMode="Foreground"/P:PublishUrl="http://localhost/Installer/" /P:UseManifestForTrust="true" /P:MapFileExtensions="true" /P:PublishDir="../../Installer/" /P:ApplicationVersion=%Version% 

응용 프로그램은 할 수 있어야 업데이트 할 수 있습니다.

+1

단계별 자습서에서 단계별 자습서를 올바르게 설명합니다. 응용 프로그램 매니페스트에는 서명하지만 배포 매니페스트에는 서명하지 않습니다. 고객이 url을 변경 한 다음'mage.exe -Sign WindowsFormsApp1.application -CertFile MyCert.pfx'를 사용하여 서명합니다. –

+0

처음에는 MageUI.exe를 사용하여 작동하지 않았습니다. 저장하기 전에 .manifest 파일을 다시 선택해야했습니다. .application 파일에 대한 수정, 왜 그런지 모르겠다. .application 파일을 사퇴하지 않고 URL을 수정할 수있는 방법은 없습니다. 답변 감사합니다. – Gab

+0

그리고 응용 프로그램을 설치할 때 게시자가 "알 수없는 게시자"로 설정되어있어 인증서를 가져 가지 않습니다. 그리고 MageUI.exe로 .manifest 파일을 열면 "신뢰 정보 용 응용 프로그램 매니페스트 사용"이 선택되지 않습니다. (하지만 "/ P : UseManifestForTrust ="true ") – Gab

답변

1

deploymentProvider 요소를 삭제할 수 있습니다. 이를 통해 여러 위치 (예 : 여러 환경 또는 여러 조직)에서 서명 한 ClickOnce를 배포 할 수 있습니다. 닷넷 프레임 워크 3.5을 시작으로

http://msdn.microsoft.com/en-us/library/bb384243.aspx

, 당신은 더 이상 온라인과 오프라인 모두 사용에 대한 ClickOnce 응용 프로그램을 배포하기 위해 매니페스트 배포에 deploymentProvider을 지정할 필요가 없습니다. 이는 배포를 직접 패키지하고 서명해야하지만 다른 회사가 네트워크를 통해 응용 프로그램을 배포 할 수 있어야하는 시나리오를 지원합니다.

+0

Thx,하지만 업데이트를 확인하는 곳은 어디입니까? 그리고 내 MsBuild 명령을 수정하려면 어떻게합니까?"/ P : PublishUrl "매개 변수를 제거하려했으나 ... – Gab

+0

@Gab 그것은 설치된 위치와 동일한 위치에서 업데이트를 확인해야합니다. MSBuild 속성으로 제거 할 수 있는지 모르겠지만 사퇴하는 동안 사용했습니다. 구성 변환 후,하지만 난 사용자 정의 작업을 작성하고 프로그래밍 방식으로 했어. –

+0

@ Gab 나는 그것이'PublishUrl'일지도 모른다고 생각한다. 메모장에 .csproj를 열고 http://msdn.microsoft.com/en- us/library/ms165431.aspx –