.NET Framework 설치 없이 프로그램 개발을 해야 할 때

안녕하세요. 어떻게 보니 제가 첫 질문이 되었네요.

현재 WPF로 개발을 하고 있는 개발자입니다. 여태 이노라던가 클릭원스는 잘 썼었지만

이번에 이직한 회사는 약간 전자책 같은걸 만드는 회사이다 보니까

영어교재같은걸 사면 주는 DVD,CD로도 배포가 가능해야 합니다.

문제는 이게 옛날 PC에도 런처가 구동이 가능해야 된다는 점입니다.

공공기관에서는 윈10으로 바꾼다고 하니 사실 프레임워크 문제는 없는데

윈도우7 까지를 미니멈으로 잡았을 때가 3.5기준이라 타겟을 이 쪽으로 하려 합니다

찾아보니 Fody를 사용해서 임베디드 시킬 수 있는 것 같은데

이런 걸 사용하면 닷넷프레임워크를 미 설치해도 되는건지는 테스트 해보면 될 것 같은데

그것보다는 DLL을 임베디드 시켰을 때 뭔가 가상으로 돌아가는 식이면

퍼포먼스 저하가 있지 않을까 생각이 되네요(DVD에 넣어야 되기 때문에…)

무조건 닷넷 프레임워크 4을 기준으로 계약을 하고

미 설치 PC에 닷넷프레임워크 설치를 하도록 하는게 좋을지 고민입니다 :slight_smile:

4 이상으로 하고 미설치시 프레임워크 설치를 유도하시는 방법으로 가시는게 좋을 것 같습니다.
윈7만 생각하고 3.5로 잡는 경우 경우 윈10에는 3.5가 설치되어있지 않기때문에 윈10에서는 오히려 설치가 필요한 상황이 발생합니다.

보통 설치 스크립트를 통해 닷넷 프레임워크 버전이 미설치인 경우 선행 설치가 되는 형태로 되던데,
이 부분은 제가 직접 해본게 아니라서 구체적인 답변을 드리긴 어렵네요.

혹시 프로젝트를 WPF Core (.Net core)로 진행하고 계신가요?
WPF Core는 ‘자체 포함 실행 파일’ 이라는 기능을 제공합니다.

dotnet CLI에서 ‘dotnet publish…’ 할때 옵션으로 지정할 수 있습니다.

이렇게 '자체 포함 실행 파일’로 Publish 한다면 .Net Framework나 Core의 설치 유무에 상관없이
필요한 모든 dll를 포함하여 Publish 됩니다.

상세한 글은 아래에 있습니다.

(현재 저희 회사 내부 팀에서도 이 방법을 사용중이며, Win7에서 무리 없이 작동합니다.)

닷넷 프레임워크 4 기반이면, 설치 옵션에 프레임워크 3.5,4…(설치가 안되어 있을시) 포함 시킬 수 있습니다.(비쥬얼스튜디오2010버젼 기준 설명)

현재 윈도우10으로 우겨서(?) 4버전에서 개발 할 수도 있었지만

CSS나 이런걸 지원하는 Webview 자체가 4.5.2 이런 버전에서 돌아가야 되다보니까

눈물을 머금고 .Net Core 3.1로 가기로 했습니다 ㅠ… 답변 주셔서 감사합니다

말씀 주신 방법으로 .Net Core 3.1으로 가기로 하고 Win7의 경우 SP1 과 특정 윈도우 패치를 해야지만 돌아가는걸 확인해서 그 부분도 적용했습니다! 감사합니다

좋아요 1

네네 문제는 닷넷프레임워크 설치 되는 모습을 보기가 싫으시다네요… 쓰시는 분들이 일반인이니까 실행을 켰는데 뭐 설치 뜨면 별로라고… 그래서 .net core로 가고 설치 없이 같이 배포하는 방법으로 해결했습니다.

답변 주셔서 감사합니다!