문제

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

게시 옵션에서 나는 떠났다 Installation Folder URL 공백, 나는 옵션을 선택 취소했다 The application should check for updates (업데이트를 수동으로 검사하고 있기 때문에 옵션을 작성했습니다. Update location (if different than publish location).

오프라인 설치를 테스트하려고 할 때 응용 프로그램을 설치할 수 없습니다. "응용 프로그램 다운로드가 성공하지 못했습니다. 네트워크 연결을 확인하십시오 ..."및 세부 사항 버튼을 누르면 다음 오류를 읽고 있습니다.

  • c : install myapp.application의 활성화로 인해 예외가 생겼습니다. 다음 실패 메시지가 감지되었습니다.
    • 다운로드 http://myserver.com/myapp.application성공하지 못했습니다.
    • 원격 서버에 연결할 수 없습니다
    • 소켓 작동은 도달 할 수없는 네트워크 195.42.142.11:80에 시도되었습니다.

모든 파일이 있지만 설치가 인터넷에서 파일을 다운로드하려고하는 이유는 무엇입니까?

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


편집하다:

추가 테스트는 오프라인 설치가 Windows XP에서 일반적으로 작동하지만 Windows 7에서는 작동하지 않는 것으로 판명되었습니다. 나중에는 동일한 설치 파일을 사용하여 설치 프로그램은 로컬을 사용하는 대신 인터넷에서 응용 프로그램을 다운로드하려고합니다. 파일 배포.

Clickonce Gurus를 사용할 수 없습니까?

도움이 되었습니까?

해결책

ClickOnce 러너는 파일이 이미 로컬에 있는지 여부에 관계없이 지정된 URL에 연결하려고 시도합니다. CD 및 웹 기반 배포를 모두 지원하려면 두 가지 빌드 구성이 필요합니다. 다음은 관련 정보입니다 Microsoft의 문서.

Visual Studio 에서이 배포 전략을 활성화하려면 게시 마법사의 설치된 페이지에서 CD-ROM 또는 DVD-ROM에서 클릭하십시오.

이 배포 전략을 수동으로 활성화하려면 배포 매니페스트에서 DeploymentProvider 태그를 변경하여 값이 비워 지도록합니다. Visual Studio 에서이 속성은 프로젝트 디자이너의 게시 페이지에 설치 URL로 노출됩니다.. Mage.exe에서는 시작 위치입니다.

이 작업을 자동으로 수행 할 수 있으므로 매번 프로젝트 설정을 수동으로 수동으로 편집 할 필요가 없습니다 (고객이 업데이트하지 못하게하는 작은 실수도 위험에 처할 위험이 있습니다). 불행히도, 프로젝트의 클릭 오전 설정은 표준 빌드 구성에 의해 제어되지 않으므로 프로젝트 파일 (MSBuild 스크립트이기도 함) 또는 별도의 빌드 스크립트를 어떤 도구 에나야합니다. 사용.

재정의해야 할 값은 설치입니다. CD-ROM 설치 빌드의 경우 비어 있어야합니다. 그러면 빌드는 두 구성을 모두 빌드해야합니다. 이 사이트에는 다른 사람들과 그 방법에 대한 지침이있는 풍부한 예가 있습니다.

다른 팁

VS2015에서보다 최근의 프로젝트 신청서를 게시하는 것 외에는 비슷한 문제가있었습니다. 내 게시 설정은 다음과 같습니다.

  • 사용자가 응용 프로그램을 설치하는 방법-"CD-ROM 또는 DVD-ROM에서"
  • 응용 프로그램은 업데이트를 확인하지 않습니다

나는 이것을 내 Dev Machine에서 게시 할 것입니다 (예 : mymachine01) 및 setup.exe와 함께 번들로 연결되는 .application 파일에는 항상 다음과 같은 줄이 포함됩니다.

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

나는 그것을 압축 한 다음 다른 컴퓨터에 떨어 뜨려 설치 프로그램을 테스트하면 Application cannot be started. Contact the application vendor. 오류. 세부 사항 버튼을 클릭하면 a가 나타납니다 The remote name could not be resolved 앱이 액세스하려고했던 오류 mymachine01. 이를 해결하기 위해 다음 단계를 사용했습니다.

  1. VS에서 프로젝트를 마우스 오른쪽 버튼으로 클릭하고 속성을 선택하십시오
  2. 게시 탭으로 이동하십시오
  3. "옵션"을 클릭
  4. "매니페스트"를 선택하십시오.
  5. "배포 공급자 URL 제외"를 확인하십시오.
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top