WiX - как создать подкаталог bin? - PullRequest
10 голосов
/ 12 января 2010

Я упускаю что-то очевидное.Как поместить DLL-файлы в подкаталог с именем bin в каталоге установки?Я пытаюсь следовать этому руководству: http://www.tramontana.co.hu/wix/lesson5.php#5.3 для развертывания веб-службы WCF.Поэтому мне нужно скопировать файлы .svc и .bin вместе с несколькими другими, но начнем с этих двух.Я использую Wix 3.5 под Visual Studio.

    <Directory Id="TARGETDIR" Name="SourceDir">
        <Directory Id="ProgramFilesFolder">
            <Directory Id="INSTALLLOCATION" Name="TFBIC.RCT.WCFWebServicesWIXSetup">
                <Component Id="ProductComponent" Guid="E9A375FB-DF6A-4806-8B0B-03BE4A50802F"> 
                    <File Id='SVC1' Name='CreateUpdateReturnService.svc' DiskId='1' Source='../TFBIC.RCT.WCFWebServices/CreateUpdateReturnService.svc'  />
                </Component>
            </Directory>
            <Directory Id="INSTALLLOCATION" Name="TFBIC.RCT.WCFWebServicesWIXSetup">
                <Component Id="ProductComponent" Guid="E9A375FB-DF6A-4806-8B0B-03BE4A50802F">
                    <File Id='DLL1' Name='TFBIC.RCT.WCFWebServices.dll' DiskId='1' Source='../TFBIC.RCT.WCFWebServices/bin/TFBIC.RCT.WCFWebServices.dll'  />
                </Component>
            </Directory>
        </Directory>
        <Component Id='TestWebVirtualDirComponent' Guid='9586807E-9065-48e8-8E73-13A9191962E5'>
            <iis:WebVirtualDir Id='TestWebVirtualDir' Alias='Test' Directory='InstallDir'
              WebSite='DefaultWebSite'>
                <iis:WebApplication Id='TestWebApplication' Name='Test' />
            </iis:WebVirtualDir>
        </Component>

    </Directory>

Я попытался поместить \ bin в идентификатор и атрибут имени, и он тоже не понравился (недопустимый символ).

Кроме того, рекомендуется ли устанавливать IIS в файлы программы c: \ или в папку c: \ inetpub \ wwwroot?Как переключить каталог по умолчанию на c: \ inetpub \ wwwroot \ myproj?

Это мои различные первые эксперименты с WiX.

1 Ответ

9 голосов
/ 12 января 2010

Каждый тег создает новый каталог.Для каждого вложенного тега есть новый каталог.Итак, если вы хотите иметь «мусорное ведро» в INSTALLLOCATION, используйте как показано ниже.

<Directory Id="INSTALLLOCATION" Name="TFBIC.RCT.WCFWebServicesWIXSetup"> 
    <Directory Id="BinFolder" Name="bin"> 
        <Component Id="ProductComponent" Guid="E9A375FB-DF6A-4806-8B0B-03BE4A50802F">  
            <File Id='SVC1' Name='CreateUpdateReturnService.svc' DiskId='1' Source='../TFBIC.RCT.WCFWebServices/CreateUpdateReturnService.svc'  /> 
        </Component> 
     </Directory> 
 </Directory>
...