2013-05-15 3 views
1

WiX 3.7을 사용하여 루트에 폴더를 만드는 방법을 알아 냈습니다. 이D에서 Wix에 디렉토리를 만드는 방법 :

<Directory Id="ReceivedFilesDir" Name="ReceivedFiles"> 
    <Component Id="ReceivedFilesComponent" Guid="84A264EF-2BC5-41e3-8124-2CA10C2805DB"> 
     <CreateFolder Directory="ReceivedFilesDir"> 
     <Permission User="Administrators" GenericAll="yes" /> 
     </CreateFolder> 
    </Component> 
    </Directory> 

폴더 C:\ReceivedFiles

내가 대신 D:\ReceivedFiles에 있어야 할을 만듭니다.

어떻게 달성 할 수 있습니까?

나는 DiskId 속성으로 놀았지만 아무 것도하지 않는 것 같습니다.

또한 전체 설치 폴더를 변경하지 않으려는 경우 일반 설치 부분이 여전히 C:\Program Files (x86) 이하입니다. 방금 D:에 추가 폴더를 만들고 싶습니다.

+0

[this] (http://stackoverflow.com/a/14364415/1049308)가 질문에 답변합니까? –

+0

@JohnWillemse 아니요, 전체 설치 위치를 변경하고 싶지는 않습니다. 'C : \ Program Files (x86)'아래에 일반 설치를 원하지만'D : '아래에 폴더를 만들고 싶습니다. –

+1

[this] (http://stackoverflow.com/questions/5269990/is) -it-possible-to-two-root-directories-in-wix/5270909 # 5270909) 도움이 필요하십니까? –

답변

2

여기에 우리가 기본적으로 같은 필요에 사용되는 솔루션이다 : 당신의 그 활용 설치할 경우

<Directory Id="TARGETDIR" Name="SourceDir"> 

    <Directory Id="CROOT" Name="root"> 
     <Directory Id="MY_CROOT" Name="PLACE_HOLDER"> 
      <!-- Define C directory --> 
     </Directory> 
    </Directory> 

    <Directory Id="TROOT" Name="root"> 
     <Directory Id="MY_TROOT" Name="PLACE_HOLDER"> 
      <!-- Define T directory --> 
     </Directory> 
    </Directory> 
</Directory> 

<CustomAction Id="SetCRootDirectory" Property="CROOT" Value="C:\" /> 
<CustomAction Id="SetTRootDirectory" Property="TROOT" Value="T:\" /> 

<InstallExecuteSequence> 
    <Custom Action="SetCRootDirectory" Before="AppSearch" /> 
    <Custom Action="SetTRootDirectory" Before="AppSearch" /> 
</InstallExecuteSequence> 

당신은 UI 순서에이를 추가 할 수 있습니다. 시퀀스의 나머지 부분이 어떻게 정의되는지에 따라 사용자 지정 작업 Before 값을 다른 값으로 설정해야 할 수도 있습니다. 희망이 유용합니다.

+0

이 대답에 대한 희망이있었습니다. 나는 CROOT를 사용했지만 결과는 기본적으로 D : \ root \ 이다. – Geddon

관련 문제