2010-02-26 4 views
0

InstallShield Basic MSI 프로젝트가 있습니다. 이 프로젝트는 Installshield의 부트 스트 래퍼를 사용하여 몇 가지 설치 전제 조건을 설치합니다. 모든 것은 번들로 제공되며 단일 exe (Setup.exe)로 압축됩니다. 실행할 파일의 전체 경로를 알아야하는 하나의 전제 조건이 있습니다. 이 경로를 찾을 수있는 속성이 있습니까?추출 된 installshield setup.exe의 파일 위치

또는 다른 해결책. 우리는 현재 Installshield 2008을 사용하여 업그레이드 할 기회가별로 없습니다. Windows Installer 4.5에 의존하는 SQL Server 2008을 설치해야합니다. InstallShield 2008은 WinInstaller 4.5를 지원하지 않으므로 WinXp 및 Vista 용으로 전제 조건을 만들었습니다. WinXP가 올바르게 작동합니다.

그러나 Windows Vista의 경우 Windows Installer 4.5의 재배포 가능 파일은 .msu 파일이므로 wsua.exe를 통해 실행해야합니다. 커맨드 라인 매개 변수 만 받아들이는 작은 응용 프로그램을 만들었고 Windows Installer 재배포 가능 파일을 설치하기 위해 params와 함께 wusa.exe를 시작했습니다. 그러나 wusa.exe에는 재배포 가능 패키지의 전체 경로가 필요합니다. setup.exe가 파일을 추출한 경로를 찾는 방법이 있습니까?

또는하면 Installshield 2008의 Windows Installer 4.5에 대한 지원을 추가 할 수있는 방법이있다는 그것을 의심하지만, 가장 쉬운 방법은

IS2008와 다른 방법에 대한

답변

2

, 당신이 당신의 도우미 EXE에서이 작업을 수행 할 수 있어야 할 것 . C++을 사용한다고 가정하면 GetModuleFileName()을 호출하여 실행중인 exe의 위치를 ​​찾을 수 있습니다 (다른 언어는 비슷한 기능을 어딘가에 노출해야 함). 모든 필수 구성 요소의 파일이 같은 폴더에 추출되었으므로이 파일을 사용하여 .msu 파일의 전체 경로도 파악할 수 있습니다.

업그레이드하면 IS2009 이상 버전의 셸에서 직접 대상을 실행하고 .msu 파일을 기본적으로 지원하므로 직접 지원 (및 prerequisites for Windows Installer 4.5 포함)이 가능합니다. IS2009 이상에서는 필수 구성 요소 파일을 찾는 데 사용할 수있는 필수 구성 요소 인 명령 줄 속성도 지원합니다. InstallShield 2009 Release Notes을보고 ISPREREQDIR을 검색하십시오.

+0

감사합니다. 업그레이드는 나에게 가장 좋은 솔루션 인 것처럼 보이고 관리는 이후 업그레이드를 구매하기로 결정했습니다. – Web