2012-02-16 1 views
1

Visual Studio 2010의 설치 및 배포 프로젝트에서 만든 Windows Installer 프로젝트가 있습니다. 설치 프로그램에서 설치해야하는 파일이 많지만 변경되는 파일의 수가 적습니다 (총 파일의 5 %는 파일의 수라고 가정) 이름은 동일하지만 암호는 데이터베이스 파일과 같이 변경됨) 나머지 95 %는 동일하게 유지됩니다 (이미지 파일과 동일).Visual Studio를 통한 Windows Installer : 응용 프로그램에서 여러 개의 택시 활용? 가능한?

5 % 파일의 경우 설치 프로그램은 항상 처음부터 실행해야합니다. 그것은 VS 영구적으로 95 %의 파일

에 대한

우선 택시와 같은 여러 택시 생성을 지원하는 것을 가능 변경 5 % 파일

에 대한

두 번째 택시

이 95 %의 택시는 미리 만들어지고 난 그냥에있다 두 번째 택시 만 만들지 만 msi를 설치하면 캡 내용물이 모두 설치됩니다. 그것은 가능한가 ????

답변

0

Visual Studio 설치 프로젝트에서는 지원되지 않습니다. 일부 상용 설치 제작 도구는 각 CAB 구성을 지원하지만 대부분 원하는 동작을 얻지 못할 수 있습니다.

CAB은 파일의 컨테이너 일뿐입니다. 실제 파일 정보는 MSI에 저장됩니다. 따라서 CAB를 별도로 생성하는 것은 솔루션이 아니므로 MSI 데이터베이스와 일치하지 않을 수 있습니다.

최상의 방법은 캐싱 메커니즘이 좋은 설치 도구를 찾는 것입니다. 이렇게하면 설치 프로그램의 빌드 시간이 단축됩니다.

0

나는 약간의 비뚤어 짐으로 내가 원하는 것을했다.

내 설치 프로젝트에서 영구 (이미지 파일) 인 파일을 제거했습니다. 이로 인해 내 msi는 1/4 크기로 줄어들었고 이전에 만들었던 시간의 1/4 만 사용되었습니다.

그런 다음 영구 파일에 대해 해당 파일을 sourcedir에서 targetdir로 전송 한 사용자 지정 작업을 작성했습니다.

+0

원본 dir은 개발자의 컴퓨터/빌드 서버에있는 경향이 있고 대상 디렉터리는 설치가 실행되는 컴퓨터에 있기 때문에 일반적으로 이해가되지 않습니다. 일반적으로 드문 경우입니다. 둘 다 동일합니다. –

+0

@Damien_The_Unbeliever : sourcedir은 msi가있는 폴더라고 생각합니다. 개발자 컴퓨터에서는 디버그/릴리스 폴더가 될 수 있으며 CD/DVD에 기록 될 때 sourcedir은 msi가있는 cd-rom 드라이브의 폴더입니다. targetdir은 파일이 설치되는 폴더입니다. –