문제

어리석은 질문 일지 모르지만 Google에 대한 모든 시도는 실패했습니다. 문제는 : 재배포 가능한 사전 설치가 필요하지 않은 Windows 응용 프로그램을 어떻게 개발할 수 있습니까? .NET 프레임 워크가없는 이전 버전의 Windows에서도 실행되는 응용 프로그램을 만들고 싶습니다.

감사합니다, Ewolf

도움이 되었습니까?

해결책

첫째, C ++, CLR과 같은 모국어로 프로그램.

둘째, 매니페스트를 비활성화하고 외부 DLL (예 : STDC 또는 MFC)을 연결하지 마십시오.

다른 팁

이전 버전의 Windows가 무엇을 의미합니까?
.NET 프레임 워크는 Windows 2003 및 .NET 1.1 이후 Windows의 일부입니다.
따라서 Windows 버전을 Windows 2003보다 새로 타겟팅하는 경우 .NET을 사용할 수 있는지 확인할 수 있습니다.

솔루션도 있습니다 연결/포장을 자동화합니다 .NET 제품의.

업데이트:
방금 찾았습니다 단핵증 전체 런타임을 실행 파일에 연결할 수 있습니다.
그들은 그 기능을 부릅니다 묶음.
그것에 대해 자세히 알아보십시오 여기.

Delphi 사용 - 최신 버전의 IDE에는 이상한 버그가 있지만 재분배 할 필요가없는 기본 Windows 응용 프로그램을 쉽게 만들 수 있습니다. C ++/Win32보다 사용하기가 훨씬 쉽습니다.

편집하다: Ewolf가 지적했듯이 .NET으로 태그 된 원래 질문에도 불구하고 .NET이 필요하지 않았습니다.

요컨대, Win95/98/2000과 같은 일부 이전 기계에는 런타임이 설치되지 않을 수 있습니다. .NET을 지정 했으므로 .NET을 사용하여 응용 프로그램을 작성하려고한다고 가정하면 큰 것이 있지만 .NET 응용 프로그램을 실행할 수있는 .NET 런타임을 미리 설치해야합니다. 두 가지 방법으로 쉽게 접할 수 있습니다.

  • .NET 런타임을 수동으로 설치하십시오
  • .NET 런타임이 설치되었는지 여부를 감지 할 수있는 사용자 정의 설치자 스크립트를 사용하여 .NET 런타임을 재배포 할 수 있도록 설치하십시오.

C/C ++와 같은 기본 응용 프로그램에 대해 이야기하는 경우, 많은 Windows 머신 인 표준 DLL 만 사용하여 RAW WINAPI32에서 개발하는 최선의 경로 (필요한 DLL 수를 최소화하기 위해). Commctrl.dll, user32.dll, advapi.dll은 이름을 지정하지만 몇 가지. 최종 결과는 더 작은 실행 파일입니다. 물론 DLL을 통합하여 하나의 큰 매머드 실행 파일을 형성하여 다른 DLL을 번들로 묶을 수 있습니다.

나는 당신이 사용하는 것이 좋습니다 wtl, 경량 C ++ 프레임 워크입니다. 실제로 Win32 API보다 한 단계에 불과하므로 종속성이 거의없는 작은 예방 접종을받습니다. WTL에는 정적으로 링크 할 수있는 ATL 프레임 워크가 필요하므로 EXE 만 배송하면됩니다.

볼 가치가있는 또 다른 프레임 워크입니다 QT. 그러나이를 위해서는 응용 프로그램과 함께 DLL을 배송해야합니다. QT는 환상적인 프레임 워크이며 WTL보다 생산성이 높다고 생각합니다 (물론 응용 프로그램 요구에 따라).

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top