Укажите другой путь для провайдера iisApp при создании пакета с помощью msdeploy

Как я делаю пакет

Я делаю пакет msdeploy следующим образом:

msdeploy.exe -verb:sync -source:iisApp=c:\content\ -dest:package=c:\pkg.zip

c:В каталоге \ content есть единственный файл index.html .

Результат

Результат выглядит следующим образом:

Info: Adding package (package).
Info: Adding child iisApp (c:\content\).
Info: Adding child createApp (c:\content\).
Info: Adding child contentPath (c:\content\).
Info: Adding child dirPath (c:\content\).
Info: Adding child filePath (c:\content\index.html).
Total changes: 6 (6 added, 0 deleted, 0 updated, 0 parameters changed, 0 bytes copied)

Если я извлеку содержимое c: \ pkg. zip в каталог c: \ pkg это выглядит так:

archive.xml
systemInfo.xml
Content\c_C
Content\c_C\content
Content\c_C\content\index.html

Если я сбрасываю пакет следующим образом:

msdeploy.exe -verb:dump -source:package=c:\pkg.zip -xml

я получаю:

<output>
    <MSDeploy.iisApp>
        <iisApp path="c:\content\">
            <createApp 
                path="c:\content\" 
                isDest="False" 
                managedRuntimeVersion="" 
                enable32BitAppOnWin64="" 
                managedPipelineMode="" 
                applicationPool="" 
                appExists="True" />
            <contentPath path="c:\content\">
                <dirPath 
                    path="c:\content\" 
                    securityDescriptor="D:" 
                    parentSecurityDescriptors="" 
                    attributes="Directory">
                    <filePath 
                        path="index.html" 
                        size="0" 
                        attributes="Archive" 
                        lastWriteTime="07/07/2011 20:58:00" 
                        securityDescriptor="D:" />
                </dirPath>
            </contentPath>
        </iisApp>
    </MSDeploy.iisApp>
</output>

Как я хочу, чтобы он был

Я не хочу, чтобы пакет зависел от текущего местоположения файлов сайта. Я собираюсь отправить пакет покупателю и не хочу, чтобы какие-либо подробности о процессе упаковки были отправлены вместе с пакетом. Я хочу, чтобы содержимое пакета c: \ pkg.zip было таким:

archive.xml
systemInfo.xml
Content\index.html

Я хочу, чтобы пакет мог создавать приложение IIS, поэтому мне нужен виртуальный путь. Я также хочу установить пакет в папку по умолчанию. Так что физический путь тоже должен измениться. Я хочу, чтобы дамп выглядел примерно так:

<output>
    <MSDeploy.iisApp>
        <iisApp path="Default Web Site\Site">
            <createApp 
                path="Default Web Site\Site"
                isDest="False" 
                managedRuntimeVersion="" 
                enable32BitAppOnWin64="" 
                managedPipelineMode="" 
                applicationPool="" 
                appExists="False" />
            <contentPath path="c:\inetpub\wwwroot\site">
                <dirPath 
                    path="c:\inetpub\wwwroot\site" 
                    securityDescriptor="D:" 
                    parentSecurityDescriptors="" 
                    attributes="Directory">
                    <filePath 
                        path="index.html" 
                        size="0" 
                        attributes="Archive" 
                        lastWriteTime="07/07/2011 20:58:00" 
                        securityDescriptor="D:" />
                </dirPath>
            </contentPath>
        </iisApp>
    </MSDeploy.iisApp>
</output>

Я изменил атрибуты iisApp и createApp provider path на Веб-сайт по умолчанию \ Сайт . И я изменил атрибуты contentPath и dirPath provider path на c: \ inetpub \ wwwroot \ site .


Вопросы

  • Как я могу это сделать?
19
задан knut 7 July 2011 в 21:29
поделиться