현재 시작 메뉴에서 바로 가기가 생성되는 프로그램 그룹의 이름을 사용자가 지정할 수있는 옵션을 사용하여 설치 프로그램을 확장하려고합니다. (나는 이것이 다소 오래된 개념이라는 것을 알고 있습니다)
InstallShield 2015를 사용하고 있습니다.
[PROGRAMGROUP_NAME]이라는 지역화 가능한 속성을 만들었습니다. 원하는 기본값으로 설정 한 {ID_STRING46}이 자동으로 생성되었습니다. 여태까지는 그런대로 잘됐다. 위의 속성에 연결된 편집 컨트롤이있는 사용자 지정 대화 상자를 만들었습니다.
이제 까다로운 부분이 있습니다. 바로 가기 아래의 "프로그램 메뉴"아래에 먼저 여러 바로 가기를 배치 할 프로그램 그룹 이름이있는 폴더를 추가하고 싶습니다. [PROGRAMGROUP_NAME]을 입력하면 말 그대로 이름이됩니다. {ID_STRING46}을 사용하면 대화 상자에 입력 한 값이 아닌 기본값이 사용됩니다.
덧붙여서, ID_STRING46의 이름을 좀 더 의미있는 이름으로 바꾸려고했을 때 다른 일이 잘못되기 시작했기 때문에 그대로 두었습니다.
여기서 뭐가 잘못 되었나요? 폴더 이름에 사용할 속성 값을 어떻게 얻습니까?
편집하다
지금 사용자 지정 작업을 사용하려고하는데 정의하는 데 문제가 있습니다. 속성을 설정하는 대화 상자는 CostFinalize 이후이므로 SetDirectory를 사용해야한다고 가정하지만 정의하는 데 문제가 있습니다. "네트워크 위치에 액세스 할 수 없습니다"라는 오류가 표시됩니다.
편집하다
나는 한 단계 발전했습니다. DIRECTORY_PROGRAM_GROUP 키가있는 디렉터리를 디렉터리 테이블에 수동으로 추가했습니다 (공개하려면 모두 대문자라는 점이 중요합니다). 그런 다음 대화 상자를 실행 한 후 사용자 지정 작업을 사용하여 해당 디렉터리를 원하는 값 [ProgramMenuFolder] [PROGRAM_GROUP_NAME]으로 설정하고 해당 폴더에 만들도록 바로 가기를 수정했습니다.
잘 작동하는 것 같지만 이제 프로그램 그룹은 제거 할 때 더 이상 제거되지 않습니다.
바로 가기는 폴더에 설치되며 ProgramMenuFolder 아래의 폴더 이름은 설명하는대로 프로그램 그룹이됩니다. 따라서 디렉토리 테이블 을 작성해야 합니다 (직접 --- DefaultDir 열은 지역화 가능하며 업데이트 할 수있는 문자열이 이미있을 수 있음 ---- 또는 파일 및 폴더보기를 통해). 원하거나 사용자 지정 작업 (비용 계산 전이면 속성 설정, 비용 계산 후 디렉터리 설정)을 사용하여 바로 가기가 설치된 위치를 조정합니다.
ID_STRING46 이름을 바꾸는 데 문제가있는 경우 문자열 이름을 변경 한 후 참조를 업데이트하지 않았을 가능성이 있습니다. 이들이 어디에 있는지 추적하는 가장 간단한 방법은 빌드 된 설치 프로그램의 차이점을 조사한 다음 (아마도 InstallShield의 MSI Diff를 사용하여) 일반보기에서 찾을 수없는 경우 직접 편집기를 사용하여 관련 참조를 업데이트하는 것입니다.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다