2009-12-21 3 views
4

similar question이 있지만 표시된 답변은 사용자 컴퓨터에 여러 종속물을 설치해야하는 외부 라이브러리에 대한 링크를 제공합니다. .CAB 만들기 및 외부 라이브러리없이 파일 추가하기

필자는 파일을 나열하는 것과 같은 멋진 파일을 추출 할 필요가 없습니다. 하나의 캐비닛 파일에 폴더의 전체 내용 만 추가하면됩니다. 나는 cabinet.dll이 \ Windows \ System32 폴더에 있다는 것을 알고 있으며,이 DLL과 상호 작용하여 내가하려는 일을 성취 할 수 있기를 바라고 있습니다.

외부 라이브러리없이이 작업을 수행 할 수 있습니까? 누군가가 올바른 방향으로 나를 가리킬 수 있다면 영원히 감사 할 것입니다.

답변

8

WiX, 특히 Microsoft.Deployment.Compression.Cab 어셈블리를 살펴보십시오.

CabInfo cab = new CabInfo(@"c:\Work\some.cab"); 
cab.Pack(@"C:\Work\folder"); 

그것은 당신 만이 어셈블리가 필요합니다, 그래서 독립 인 Microsoft.Deployment.Compression 조립에 의존 : 그것은 당신이 할 수있는 좋은 API가 있습니다.

+0

WiX를 살펴 보았지만 VS2010 Beta 2를 사용하고 있기 때문에 설치가되지 않습니다. WiX와 같은 종속성을 필요로하지 않는 제품을 출시 할 수 있기를 희망했습니다. –

+0

LessMSIerables (http://blogs.pingpoet.com/overflow/archive/2005/06/02/2449.aspx)를 사용하여 MSI에서 언급 한 두 개의 어셈블리를 추출한 다음 배송하십시오. –

+0

... WiX를 설치할 필요가 없습니다. –

관련 문제