2010-03-26 4 views
4

그래서 .NET 3.0을 사용하는 응용 프로그램 (도구)이 있습니다. .NET 2.0 (기본 Server 2008 R2 설치와 같은) 만있는 시스템에서 실행하면 비참하게 충돌합니다..NET Framework 요구 사항의 사용자에게 경고

내가 지금까지 본 것은 사람들이 .NET 버전을 먼저 확인하는 션트를 사용하고 있다는 것입니다. 사용자가이 문제에 대해 경고를 받도록 (또는 .NET을 설치하라는 메시지가 표시되도록) 빌드하거나 일부 목록을 추가하는 방법이 있습니까?

설치 프로그램이 해결할 수 있지만 독립 실행 형 실행 파일이 필요한 요구 사항이 있습니다. (설명하기는 어렵지만 장치 드라이버와 관련이 있습니다.이 도구는 드라이버와 함께 제공되지만 사용자가 도구를 사용하지 않을 경우 .NET 3.0을 강제 설치하면 안됩니다.)

나는 단지 "어플 리케이션이 예외 0xe0434f4d 예외로 실패"한 지점에서 멈춰야하고, 적어도 사용자에게 어떤 일이 일어 났는지에 대해 알려줄 필요가 있습니다.

+0

귀하의 요구 사항은 단 하나의 파일입니까? 모든 .NET 어셈블리가 프레임 워크를 설치해야한다고 사용자에게 알릴 수 있다는 것에 놀랄 것입니다. – TalkingCode

+1

독립 실행 형 실행 파일이 필요한 귀하의 요구 사항을 듣고 싶습니다. ClickOnce는 .NET 다운로드 및 설치, 업데이트 확인 및 설치, 자동으로 설치 및 설치를 포함하여 컴퓨터의 종속성을 확인하는 데 적합합니다. 설치자 자격이 있더라도 최소한 - 방해가됩니다 .- –

+3

이 요구 사항을 설정하는 사람을 설득하십시오. 설치자가 덜 악한 것입니다. 이 경로를 따라 가면 어디에도 좋지 않은 결과를 가져올 것이고 어쨌든 결국에는 자신 만의 설치 프로그램을 구현하게 될 것입니다. – dkackman

답변

4

테스트하지 않았지만이 기사 about framework detection은 코드에서 프레임 워크 버전을 감지하는 방법을 알려줍니다. 응용 프로그램이 어디서 실패했는지, 그리고 이렇게 주입 검사가 문제를 해결할 수 있는지 확실하지 않지만 응용 프로그램에서이 코드를 사용할 수 없다면이 검사를 수행하는 .net 2.0의 작은 "시작 응용 프로그램"을 만들 수 있습니다. 그런 다음 사용자에게 "실제"앱을 업그레이드하거나 시작하도록 알려줍니다.

내가 말했듯이,이 접근법을 테스트하지는 않았지만, 그것은 내 마음의 맨 위에 있습니다.

+0

+1 훌륭한 답변입니다. .NET 2 (또는 OP가 지원하는 최소값)에서 "실행기"를 만들 것을 제안하려고했지만 .NET 버전을 정확하게 찾을 방법이 부족했습니다. 'Environment.Version'은 CLR 버전을보고합니다. 3.0 버전과 3.5 버전은 2.0 버전입니다. –

+0

이것은 내가 말하고있는 단순한 접근 방식입니다. – moogs

+0

일반적으로이 확인은 설치 프로그램에서 수행해야합니다. 그러나 발사기는 가벼운 무게라면 나쁜 생각이 아닙니다. –

4

이것은 결코 내게 의미가 없습니다. 어디에서 멈출거야? 사용자가 Windows 98에 설치하지 않았는지 확인하려고합니까? 컴퓨터에 충분한 RAM이 있습니까? 사용자 계정에 충분한 권한이 있습니까?

소프트웨어 벤더는 시스템 요구 사항을 게시합니다. 최소 지원되는 Windows 버전, 최소 RAM 용량, 필요한 디스크 공간, 최소 브라우저 버전 등을 항상 인용합니다. 최소 .NET Framework 버전도 해당 목록에 포함됩니다. 이 목록의 의도는 분명합니다. 요구 사항을 충족시키지 않으면 제대로 작동하지 않을 것입니다. 당신이 어쨌든 그것을하는 경우에, 당신의 문제는, 아닙니다.

이것은 소비자 수준의 앱과 다릅니다. 그러나 Windows 2008 서버에 설치하면 소비자 응용 프로그램을 작성하지 않습니다.

+0

나는 단지 "어플 리케이션이 예외 0xe2334abcb 예외로 실패했습니다"라는 메시지를 멈추고 적어도 사용자에게 어떤 일이 일어 났는지에 대해 알려줄 필요가 있습니다. – moogs

+2

1 ~ 2 일 또는 가능한 해결책을 제시하는 데 드는 시간은 매뉴얼을 읽지 않는 사용자 (대부분의 사람들)에 대한 수천 시간에 걸친 지원 요청입니다. – moogs