2014-07-06 1 views
0

.NET을 설치하지 않고 Windows 7,8,8.1에 C# 프로젝트 (WinForm .NET v2)를 설치하려고합니다.단일 NSIS 설정에서 두 가지 .NET 버전을 통해 컴파일 된 C#

나는 Windows 7이 기본적으로 .NET v2를 갖고 있고 Windows 8,8.1은 기본적으로 .NET v4를 가지고 있습니다.

그래서 저는 C# 프로젝트를 복사하고 .NET v2와 v4로 컴파일하도록했습니다. 그 다음에는 대상 시스템에 설치된 .NET의 버전을 알려주는 스크립트를 사용하여 NSIS 설치 프로그램을 만들 것입니다. 그럼 그냥 모든 .NET

에게 아이디어를 설치 할 필요없이 특정 컴파일 된 프로젝트를 설치하는 것은 이론적으로 OK하지만 문제는 :

나는 자신의 프로젝트에이 솔루션을 사용하여 "아무도"를 찾을 수 없습니다. 무엇이 잘못 되었나요? 나는 무엇인가 놓친다?

+0

웃기는 사람 반 이상이 투표가 명확하지 않다고 생각하는 것은 어떨까요? –

답변

1

(.NET 설치 프로그램에서 .NET 2 및 .NET 4 버전을 패키징하지 않음) 이유는 작은 구성을 조정하면 응용 프로그램의 .NET 2 버전이 작동하도록 할 수 있기 때문입니다 나중의 런타임에서도 마찬가지입니다. 그것은 별도의라면

그냥 .NET 4는 것 같은 방법으로 테스트를 수행해야합니다 : 당신은 일에 대한 자세한 내용은이 질문을 참조 할 수 있습니다 작지만 많은 사소한 행동 변화가 있기 때문에 빌드하십시오. 적어도이 아닌 응용 프로그램과


1. 개발자 플러그인 및 라이브러리를 사용하면 .NET 2 DLL이 구성 변경없이 .NET 4 응용 프로그램에 행복하게로드되므로 런타임보다 Visual Studio 버전과 더 관련이 있지만 이해할 수 있습니다.

+0

고마워요. 대답으로 표시했습니다. –

+0

이제 메모 정리를 할 시간입니다. –

0

각 Windows 버전에 대해 별도의 설치 프로그램을 작성하고 OS가 이미 사전 설치되어있는 프레임 워크로 바이너리를 컴파일하는 것이 좋습니다.

동일한 설치 프로그램에서 두 세트의 바이너리를 갖는 것은 일을 더 복잡하게 만들뿐만 아니라 (추가 코드 만들기 등) 설치 프로그램을 더 크게 만들 수 있습니다.

+0

글쎄, 나는 "상황이 더 복잡해진다"는 것에 동의하지만, 내 응용 프로그램 사용자는 아마추어가 될 것으로 예상된다 ... 그건 그렇고, 내 프로젝트는 매우 가볍다. (약 2MB) ... 그렇다. 최소 20MB의 거대한 .Net 설치 프로그램과 비교할 수 없습니다. –