パッケージの作り方
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プロバイダーのパス属性を に変更しましたDefault Web Site\Site
。そして、contentPathおよびdirPathプロバイダーのパス属性をに変更しましたc:\inetpub\wwwroot\site
。
質問
- どうすればこれを達成できますか?