【发布时间】:2018-01-02 16:20:10
【问题描述】:
我创建了 WCF Web 服务并使用 InstallAware 创建了设置,这样我们的客户只需运行设置,它就会在 IIS 中部署 Web 服务。我的设置在 IIS 的“默认网站”下创建虚拟目录。一切正常,我的设置在“默认网站”下创建了虚拟目录并指向正确的路径,但只有在设置完成之前它才会出错。以下是在 IIS 中创建虚拟目录的代码。
if Variable SUCCESS not Equals ERROR
if Variable SUCCESS not Equals CANCEL
Run Program $SUPPORTDIR$\InsertToken1.bat (WAIT)
Get IIS Index for Site "Default Web Site" into DEFAULTWEBSITEINDEXVAR
Create Virtual Folder "WebService" in IIS Site #$DEFAULTWEBSITEINDEXVAR$, pointing to physical location $WWWROOTDIR$WebService
Get System Setting IIS Anonymous User Account into INETUSR
Set Read Permissions on File System Object "$WWWROOTDIR$\WebService" for $INETUSR$
end
end
调试 MSI 代码后,我发现执行以下行时出现错误
Create Virtual Folder "WebService" in IIS Site #$DEFAULTWEBSITEINDEXVAR$, pointing to physical location $WWWROOTDIR$WebService
它给出以下错误
【问题讨论】:
-
不熟悉 InstallAware,但可能是 make a verbose log 首先(除非你已经这样做了)。
-
你给的物理位置少了一个反斜杠,应该是"$WWWROOTDIR$\WebService"
-
我尝试过添加单反斜杠和双反斜杠,但仍然报错。
标签: web-services iis windows-installer iis-8 installaware