2012-08-15 5 views
4

msi 설치 프로그램이 실행되는 위치를 어떻게 알 수 있습니까?msi 설치 프로그램이 실행되는 위치를 어떻게 알 수 있습니까?

예를 들어 데스크톱에 InstallerExample 폴더에 내 Sample.msi 및 Manuals 폴더가 있습니다.

아래와 같이 File/@ Source에서 사용할 수 있도록이 정보가 필요합니다. 사람이 좀 도와주십시오 수 있다면

<File Id="MyFileId" Name="MyFile" Source="[SourceDir]Manuals" KeyPath="yes" > 

SourceDir 값을 C:\Users\bla\Desktop\InstallerExample\Manuals

을해야 좋을 것입니다.

답변

2

내 사용자 지정 작업에서 내 MSI가있는 경로에서 파일을 읽으려는 것과 같은 문제가 발생했습니다. 내가 MSDN 문서 TARGETDIR에 따르면

TARGETDIR 

를 사용하여 찾을 수 있었다 MSDN에 따라 또한

the root destination directory for the installation 

입니다 SOURCEDIR 실제에

the root directory that contains the source cabinet file or the source file tree of the installation package 

그래서 SOURCEDIR 속성 점이다 디렉토리 : MSI 파일이있는 디렉토리. msiexec/lvx * installer.log installer.msi를 사용하여 설치하는 경우 설치 프로그램 로그에서이 내용을 볼 수 있습니다.

그러나 TARGETDIR을 (를) 확인할 때 SourceDir은 완전히 무시됩니다. TARGETDIR은 명시 적으로 (예 : 명령 행에서) 설정되어야합니다. 그렇지 않으면 ROOTDRIVE로 해석됩니다. ROOTDRIVE가 명시 적으로 설정되지 않은 경우 드라이브 공간이 가장 많은 드라이브의 루트입니다.

+0

TARGETDIR : 응용 프로그램이 설치된 위치를 나타냅니다. 그리고 내가 SourceDir을 사용했을 때 다른 위치를 가리키고 msi 파일이있는 위치를 가리키지 않습니다. (제 경우에는 C : \ Users \ bla \ Desktop \ InstallerExample \ Manuals가 없습니다). 기본적으로 설치 MSI가 실행되고있는 위치를 확인하고 싶습니다. 누군가 나를 도와주세요. –

+1

안녕하세요, 지연에 대해 죄송합니다. OriginalDatabase 속성을 사용하면 설치를 시작하는 데 사용 된 설치 데이터베이스의 경로입니다. 나는 이것이 MSI의 최종 경로를 얻을 수 있다고 생각하지만 잠시 그것을 테스트 할 수는 없다. –

관련 문제