通过 Web 平台安装程序安装时,如何让runCommand 提供程序在 MS Deploy 包中工作?Manifest.xml
我正在尝试构建一个简单的测试 MS Web 部署包,可由 Web 平台安装程序通过自定义提要安装。我正在尝试在Manifest.xmlrunCommand
文件中使用提供程序:
<?xml version="1.0" encoding="utf-8" ?>
<msDeploy.iisApp>
<iisApp path="IISWSGISampleApp" />
<runCommand path="set" />
</msDeploy.iisApp>
仅用于输出运行命令的set
环境,但它不适用于任何数量的不同path
值。当我通过具有任何属性的 Web 平台安装程序安装包时,path
我得到相同的错误:
[13:54:312]Source runCommand (set) does not match destination (set) differing in attributes (isSource). Update pending.
[13:54:315]Updating runCommand (set).
Details:
operationType: Update
providerName: runCommand
path: set
EXCEPTION: System.IO.FileNotFoundException: Could not find file '\\?\C:\Users\rpatterson\Documents\My Web Sites\IISWSGISampleApp'.
File name: '\\?\C:\Users\rpatterson\Documents\My Web Sites\IISWSGISampleApp'
...
如果我<runCommand>
从Manifest.xml
. 我还确认C:\Users\rpatterson\Documents\My Web Sites\IISWSGISampleApp
当 WebPI 显示错误时确实存在。另外,我发现\\?\
样式路径是为了安全地引用 Windows 中的长路径,所以可能是长路径支持的某些部分被破坏了。
我在 Windows 7 Professional、Web Platform Installer 4.0 和 Web Matrix 2.0 RC 下执行所有这些操作,它们的 about 对话框显示:
Version 2.0 RC
WebMatrix: 7.1.1587.0
IIS Express: 8.0.8298.0
.NET Framework: 4.0.30319.17379 built by: FXBETAREL
Web Deploy: 7.1.1516.0
SQL Server Compact: 4.0.8854.1
Web Platform Installer: 7.1.1586.1
ASP.NET Web Pages: 2.0.20505.0
ASP.NET Web Pages: 1.0.20105.407
所有这一切背后的代码都在 GitHub 上的 IISWSGI 中,使用此提交进行测试。要重现我正在使用的环境,请参阅IISWSGI 文档。