2009-10-02 3 views
0

설치하기 전에 Installshield 2009 및 C#을 사용하여 설치 키 (.NET으로 작성된 알고리즘)의 유효성을 검사하는 설치 프로젝트를 만들었습니다. 그것은 위대한 작품.Installshield 2009 여러 개의 직렬 키

그러나 제품의 여러 버전이 있습니다. 지금은 각 버전마다 별도의 설치 프로젝트를 사용합니다. 그러나 파일의 대부분은 파일이 포함되거나 포함되지 않은 작은 변형으로 동일합니다. 유효한 직렬 키가 발견되면 특정 파일을 설치하는 단일 배포 프로젝트를 가질 수 있다면 좋을 것입니다.

기본적으로 Installshield에서 이런 종류의 작업이 가능한지 궁금합니다.

답변

1

Windows Installer가 당신이 설명하는 시나리오에 적합하지 않습니다 사전에

감사합니다, 당신은 라이센스 기술의 일종으로 잘못 설치된 파일의 사용을 방지하기 위해 시간이 걸릴 이상하지 않는. 당신은 또한 일련의 유효성 검사 dll은 다양한 기능이나 구성 요소의 조건을 설정하는 속성을 설정할 수 있지만 변형은 쉽게이를 회피 할 수 있습니다. 라이센스 확인을 구현할 시간을 가져 왔거나 취할 수있는 경우가 아니면 별도의 빌드 (허용 된 파일 집합마다 하나씩)를 유지하는 것이 가장 좋습니다. 그러나 이들을 하나의 프로젝트로 병합 할 수 있습니다.

빌드마다 무엇이 다른지에 따라 서로 다른 SKU를 얻을 수있는 두 가지 보완적인 방법이 있다고 생각합니다. 첫 번째 버전은 출시 단위별로 가장 쉽게 지정할 수 있으며 제작할 버전을 선택할 수 있습니다. 명령 줄에서. 두 번째는 릴리스와 관계없이 수동으로 업데이트하거나 명령 줄 빌드에서 재정의 할 수 있습니다.

  1. 릴리스 플래그

    당신은 (그들이 기능 선택 대화 상자를 혼란하지 않도록 아마도 숨겨진) 추가 기능에 대한 항목 그룹을 구분 한 다음 당 릴리스 포함 할에 릴리스 플래그를 사용하거나 빌드시이 파일을 제외하십시오. 이 방법은 콘텐츠 파일을 변경하는 경우에도 별도의 SKU에서 동일한 사용자 지정 작업 DLL을 계속 사용하는 것이 가장 효과적 일 수 있습니다.

  2. 경로 변수

    사용자 정의 액션 DLL의 경로는 사용자가 다음 파일의 소스 위치를 대체하는 데 사용할 수있는 경로 변수로 지정할 수 있습니다. 해당 항목 (파일 또는 이진 테이블 중 하나 일 가능성이 높음)이 꺾쇠 괄호에 자체 변수를 사용하는지 확인한 다음 빌드시 개별적으로 스왑 할 수도 있습니다. 사용자 지정 작업 DLL을 변경해야하고 릴리스 플래그와 함께 사용할 수있는 경우 의미가 있습니다.

0

런타임에 기능을 추가하거나 제거 할 수 있습니다. 이것은 (a) 설치자 속성 또는 (b) 설치 방패 스크립트로 수행 할 수 있습니다.

먼저 모든 버전의 모든 기능을 프로젝트에 추가합니다. 설치하도록 선택하지 않았는지 확인하십시오. 그런 다음 a 또는 b 중 하나를 사용하여 실행 중에 하나를 선택합니다.

설치 프로그램 속성 (a)은 다양한 방법으로 설정할 수 있습니다. 명령 행은 설치 프로그램, OS 버전, 특정 reg 키 또는 DLL의 사용자 정의 논리를 통해 전환됩니다. 기능은 특정 값인 설치 관리자 속성에 따라 포함/제외 될 수 있습니다.(B)에 관해서는

는, 스크립트 등을 "기능 트리"에 대한 액세스 권한을 가지고 있으며, FeatureSelectItem()를 사용하여 사용자 지정 논리에 따라 그 선택 해제 &를 선택할 수 있습니다

관련 문제