2011-11-04 5 views
3

이것은 \ Default.udl을 남겨 둡니다.설치 경로를 기준으로 WiX RegistryValue를 설정하는 방법

<RegistryKey Key="Software\My Company\Product\Connections" Root="HKCU"> 
    <RegistryValue Name="Default" Value="[INSTALLLOCATION]\Default.udl" Type="string" /> 
</RegistryKey> 

C : \ Program Files \ Company \ Product \ Default.udl

과 같은 것을 원합니다.
+0

INSTALLDIR 또는 APPLICATIONFOLDER가 아닌 INSTALLLLOCATION을 디렉토리 ID로 사용합니까? – marcin

+0

당시 나는 어떤 것도 사용하지 않고있는 질문을 썼는데, 이제는 Application Folder를 사용하고 있습니다. 이상한 점은 설치 위치 만 사용하여 올바른 경로로 키를 성공적으로 만들 수 있었지만 이후에 추가 된 파일 이름이 아니라는 것입니다. – bluekeys

답변

6

나는이 문제를 일으킬 수있는 몇 가지 사항을 생각해 볼 수 있습니다.

디렉토리 레이아웃이 맞습니까? 그것은 다음과 비슷한 모습이 될 것입니다

<Directory Id="TARGETDIR" Name="SourceDir"> 
    <Directory Id="ProgramFilesFolder"> 
    <Directory Id="CompanyFolder" Name="My Company"> 
     <Directory Id="INSTALLLOCATION" Name="Product"> 
     </Directory> 
    </Directory> 
    </Directory> 
</Directory> 

은 내가 HKCU 하이브 만이 사용자 별 설치에 사용하기위한 것입니다 생각하지만, 사용자가 지정한 경로는 프로그램 파일을 받고있다. 사용자 별 및 기계 별 설치의 차이점에 대해서는 Installation Context documentation을 참조하십시오. 일부 Windows 버전에서는 ProgramFilesFolder의 사용자 별 모드가 다릅니다.

설치 관리자가 Default.udl 파일을 작성한 경우 [#filekey] syntax을 사용하여 해당 파일을 직접 지정할 수도 있습니다.

<RegistryValue Name="Default" Value="[#Default.udl]" Type="string" /> 
+1

위대한, 실제로 APPLICATIONFOLDER와 함께 갔지만 기회가 생기면 [#FILE] 표기법으로 바꿀 것입니다. 귀하의 답변은 명확했으며 지난 주에 실제로 눈을 뜨게 한 설치 컨텍스트에 대한 관련 보너스 정보가 포함되었습니다! – bluekeys