2009-11-05 3 views
6

VS2008 Express로 작성된 응용 프로그램을 배포하려고합니다. 아이디어는 파일을 웹 서버 (웹 사이트를 통한 설치)에 업로드하는 동시에 인터넷 연결이없는 일부 사용자에게 오프라인 (CD) 설치를 제공하는 것입니다. 게시 옵션에서ClickOnce CD 설치 프로그램이 인터넷에 연결하려고합니다.

나는 (내가 업데이트를 돌보는거야 때문에 수동으로 체크) 내가 옵션 The application should check for updates을 선택 취소는 Installation Folder URL가 비어 나는 옵션 Update location (if different than publish location)에 가득 찼다.

오프라인 설치를 테스트하려고 할 때 응용 프로그램을 설치할 수 없습니다. 나는 ". ... 네트워크 연결을 확인 응용 프로그램 다운로드 성공하지 못했습니다"오류가 도착하고 세부 버튼을 누를 때, 나는 다음과 같은 오류 읽고 있어요 :

  • Activation of C:\Install\myapp.application resulted in exception. Following failure messages were detected:

왜 모든 파일이 있지만, 그것이을입니다 현재 설치가 인터넷에서 파일을 다운로드하려고합니까?

마지막으로, 서버 URL을 Update location에서 제거하면 정상적으로 처리됩니다. 응용 프로그램을 업데이트해야 할 때마다 두 개의 다른 설정을 만들어야합니까? 아니면 다른 해결책이 있습니까?


편집가 :

또한 테스트는 오프라인 설치가 Windows XP에서 정상적으로 작동하는 것을 증명하지만 같은 설치 파일을 사용하여 후자의 경우 윈도우 7에서 작동하지 않습니다, 설치 로컬 .deploy 파일을 사용하는 대신 인터넷에서 응용 프로그램을 다운로드하려고 시도합니다.

ClickOnce 전문가가 없습니다.

답변

5

파일이 이미 로컬에 있는지 여부에 관계없이 ClickOnce 실행자는 지정된 URL에 연결을 시도합니다. CD 및 웹 기반 배포를 모두 지원하려면 두 가지 빌드 구성이 필요합니다. 관련 정보는 Microsoft's documentation입니다. 수동 때마다 프로젝트 설정을 편집 할 필요가 없습니다

To enable this deployment strategy in Visual Studio, click From a CD-ROM or DVD-ROM on the How Installed page of the Publish Wizard.

To enable this deployment strategy manually, change the deploymentProvider tag in the deployment manifest so that the value is blank. In Visual Studio, this property is exposed as Installation URL on the Publish page of the Project Designer. In Mage.exe, it is Start Location.

당신은 자동으로이 작업을 수행 할 수 있습니다 (그리고 위험 업데이트에서 클라이언트를 방지 심지어 작은 실수). 안타깝게도 프로젝트의 ClickOnce 설정은 표준 빌드 구성에 의해 제어되지 않는 것으로 보이므로 프로젝트 파일 (MSBuild 스크립트이기도 함) 또는 별도의 빌드 스크립트를 손으로 직접 편집해야합니다. 용도.

재정의해야하는 값은 InstallUrl입니다. CD-ROM 설치 빌드에는 공백이어야합니다. 그러면 빌드가 두 구성을 모두 빌드해야합니다. 이 사이트에는 여러 가지 예가 있습니다.

2

저는 VS2015의 최신 프로젝트에 대한 신청서를 게시하는 것을 제외하고 비슷한 종류의 문제가있었습니다. 게시 내 설정했다 :

  • 어떻게 사용자가 응용 프로그램을 설치합니다 - "CD-ROM이나 DVD-ROM에서"
  • 응용 프로그램은

내가에서이 게시 것 업데이트를 확인하지 않습니다 내 dev에 기계 (예 : mymachine01)와.이 Setup.exe를 함께 번들 응용 프로그램 파일은 항상이 같은 라인을 포함 할 것이다 : 나는 그를 압축 설치 프로그램을 테스트하기 위해 다른 컴퓨터에 드롭 할

<deploymentProvider codebase="http://mymachine01/Application20Name/Application20Name.application" />

을하고 난 Application cannot be started. Contact the application vendor. 오류가 발생합니다. 세부 정보 버튼을 클릭하면 앱이 mymachine01에 액세스하려고 시도한 오류 The remote name could not be resolved이 표시됩니다.

  • 이동 탭
  • 클릭 "옵션"을
  • 선택 "매니페스트"
  • 확인 "을 게시하는

    1. 마우스 오른쪽 단추로 클릭 VS 프로젝트 속성을 선택 :이 문제를 해결하려면, 나는 다음 단계를 사용 배포 공급자 URL 제외 "
  • 관련 문제