如何使用NSIS在IIS上查找应用程序的物理目录

时间:2015-07-23 21:38:25

标签: asp.net iis iis-7 nsis

我正在使用NSIS构建一个安装程序,它将同时安装多个ASP.NET应用程序。我只需要在服务器上找到这些应用程序的物理目录来安装我的文件。

NsisIIS提供返回的功能:网站,虚拟目录和应用程序池,但不返回应用程序及其属性列表。

我已经知道这些应用程序的名称,但物理目录因服务器而异。

我想知道是否有人能解决这个问题。

THX

1 个答案:

答案 0 :(得分:0)

要解决此问题,您可以使用APPCMD.exe,它可以为您完成工作。只需从NSIS中调用它:

Section "Test"
    nsExec::ExecToStack 'C:\WINDOWS\system32\inetsrv\appcmd list vdir "Default Web Site/virtual_path" /text:physicalpath'
    Pop $0 ;return value
    Pop $1 ;printed text
    DetailPrint "output from command: $1"
SectionEnd

你必须调用Pop两次,因为ExecToStack将返回值(%errorlevel%)存储在执行命令返回的文本之上。