2009-06-04 3 views
0

Visual Studio에서 설치 프로젝트를 만들었습니다. 또한 Visual C++로 DLL을 만든 다음 사용자 정의 작업이 필요합니다. 제대로 작동하지만 Visual C++ 런타임 파일을 프로젝트에 포함하고 싶지 않습니다. 그래서이 DLL을 다른 C++ 컴파일러로 빌드 할 수 있습니까?msi 설치 프로그램 용 dll-s 사용자 지정 작업은 Visual Studio에서만 만들어야합니까?

내가 시도

은 컴파일 할 때 파일이 msi.h에서 내가 몇 백 컴파일 에러가 발생 데브 - C++하지만 그것을 만드는하고

답변

2

이 가장 쉬운 해결책은 정적 런타임에 대한 귀하의 DLL을 연결하는 것입니다 msiquery.h하기 lib.

+0

감사합니다, 내 문제를 해결하는. – Keios

0

일반적으로 사용자 지정 작업 DLL은 설치 전에 시스템에 이미있는 DLL에만 의존해야합니다. 예를 들어, MSalters에서 언급 한 것처럼 정적으로 CRT를 연결하는 것을 의미하지만 타사 라이브러리에 대한 다른 종속성에도 적용됩니다.

또 다른 옵션은 OS CRT와 연결하는 것입니다. Koby Kahane은 here을 설명합니다.

0

나는 내 설치 프로젝트를 위해 사용자 정의 dll을 만들었습니다. 내 DLL은 CLR 또는 제 3 자의 lib에 의존하지 않고 몇 가지 서비스를 등록하는 매우 간단합니다. 정적으로 msi.lib와 연결되었습니다.

설치 프로젝트에서 .net 및 windows 설치 프로그램 전제 조건을 제거했습니다. 내 설치가 .net 프레임 워크가없는 macines에서 실패합니다 ..?

.net 종속 코드가 없으므로이 문제의 해결 방법은 무엇입니까? 설치를 위해 먼저 프레임 워크를 다운로드하길 원하지 않습니다.

감사 미트 여기

관련 문제