2010-08-18 4 views
3

.Net Framework 및 VSTO가 필요하지만 VSTO 바이너리 및 다운로드 만 필요하도록 ClickOnce 설치를 구성 할 수 있습니까?ClickOnce의 전제 조건 중 일부만 번들로 제공

패키지에 VSTO를 포함하는 것은 문제가 너무 많지 않지만 가능한 경우 350MB .Net Framework는 가능하지 않습니다. (Dynamics CRM SDK는 일부 비 클라이언트 프로필 기능에 따라 달라 지므로 전체 클라이언트가 필요합니다.)

대부분의 경우 사용자는 .Net Framework가 설치되어 있으므로 이러한 경우 .NET Framework를 멀리 두어도 괜찮습니다. 게시 된 설치 프로그램이 사용자 컴퓨터에없는 경우 프레임 워크를 다운로드하도록 만들 수 있습니까?

"응용 프로그램과 동일한 위치에서 필수 구성 요소 다운로드"에 배포 번들의 .Net Framework가 필요할 경우 "구성 요소 공급 업체의 웹 사이트에서 다운로드 필수 구성 요소"가 로컬 VSTO 패키지를 사용하지 않는 것처럼 보입니다.

+0

실제로 "구성 요소 공급 업체의 웹 사이트에서 필수 구성 요소 다운로드"옵션의 문제점은 무엇입니까? –

+0

그건 내가 생각하기에,이 경우에는 ClickOnce가 외부 소스에서 다운로드하기 전에 prereq를 설치해야하는지 여부를 결정할 것이라고 생각했을 것이다. – fletcher

+0

화장품. 마케팅/경영진은 인스톨러가 가능한 한 단독으로 설치되어 고객에게 더 나은 인상을 줄 수 있기를 바랍니다. 그들은 그것을 "임의 파일 다운로드"처럼 보이기를 원하지 않습니다. 또한 LAN 네트워크에 바이너리를 배포하는 것이 일반적으로 모든 클라이언트 컴퓨터가 Microsoft의 다운로드 서버에서 별도로 다운로드하는 것보다 빠릅니다. –

답변

1

VSTO 런타임이 필요합니다. 주변에는 사용할 방법이 없으므로 로컬로 배포 할 수 없습니다. .NET 4를 사용하는 경우가 아니면 PIA도 필요합니다. .NET 4를 사용하면 필요한 PTE 비트가 자동으로 포함됩니다.

.NET의 경우 350MB 패키지를 다운로드하지 않습니다. '공급 업체의 웹 사이트에서 설치'를 선택하면 필요한 비트 만 증분 설치됩니다.

그런데 우리는 고객을 추적하고 Microsoft가 중요한 Windows Update로 .NET 3.5를 시작한 후 설치 한 고객의 비율이 최대 90 %까지 올라갔습니다. 따라서 대부분의 경우 사람들은 이미 그것을 설치하게됩니다.

+0

나는 이것을 알고 있고 .Net 3.5에 관한 통계는이 두 가지를 구별하는 것을 더욱 중요하게 만든다. 우리는 대부분의 경우 다운로드하지 않는 독립 실행 형 설치 프로그램을 원합니다 (즉, VSTO 런타임을 "내 응용 프로그램과 동일한 위치에서 필수 소프트웨어 다운로드"로 설정해야 함). 그러나 전체 .NET 설치 프로그램과 당신이 말했듯이, 고객의 90 %를 위해 이것을 선적하는 것은 감각이 없습니다. .Net 필수 구성 요소를 제거하면 .NET 설치없이 VSTO를 설치하려고하면 매우 추악한 오류가 발생합니다. –

+0

글쎄, 당신은 추한 오류에 대한 권리입니다.나는 그들이 각 prereq에 대해 전제 조건을 다르게 가져 오는 위치에 대해 플래그를 설정할 수 있기를 희망하지만, 그렇지 않습니다. 배포를 CD로 제공했다면 전체 .NET Framework를 포함하는 것은 중요하지 않습니다 (단지 아이디어). 아마 브라우저에서 설치된. NET의 버전을 감지하는 방법이 있지만, 그게 당신을 사는지 모르겠습니다. – RobinDotNet

+0

스텁 (콘솔 또는 winform을 표시하거나 나타내지 않는 winform)을 작성하고 .NET 3.5를 공급 업체의 필수 조건으로 배포 할 수 있습니다. 스텁은 다른 필수 조건을 설치 한 다음 VSTO 설치를 시작합니다. 그렇게하면 3.5가되면 그 단계를 건너 뜁니다. 그렇지 않으면 MSFT에서 설치 한 다음 계속 진행합니다. 솔직히, 사용자가 한 번만 보게 될 설치를 단순화하는 것이 많은 어려움처럼 보이지만 그것은 선택 사항입니다. – RobinDotNet

1

아마 정확히 원하는 것은 아니지만 .NET 4.0을 사용하는 경우 NoPIA 기능을 사용하고 사무용 바이너리가 필요 없습니다.

+0

그래도 VSTO가 필요하지 않습니까? 사실 나는 VSTO가 Office COM 레이어 위에 추가하는 것에 대해 완전히 확신하지 못한다는 것을 인정해야합니다. –

+0

실마리가 없습니다. 항상 VSTO에 패키지 된 모든 PIA가 포함되어 있다고 생각했습니다. 그러나 응용 프로그램에서 어셈블리 참조를 확인하여 유효성을 검사 할 수 있습니다. – VinayC

+0

VSTO에는 다른 어셈블리가있는 것처럼 보입니다. http://blogs.msdn.com/b/andreww/archive/2008/04/02/vsto-loader-and-runtime-components.aspx – VinayC

관련 문제