如何制作软件包
我是这样制作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
如果我这样倾倒(package dump)包:
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
。
问题
- 我该如何完成这个操作?