我正在使用NSIS构建一个安装程序,它将同时安装多个ASP.NET应用程序。我只需要在服务器上找到这些应用程序的物理目录来安装我的文件。
NsisIIS提供返回的功能:网站,虚拟目录和应用程序池,但不返回应用程序及其属性列表。
我已经知道这些应用程序的名称,但物理目录因服务器而异。
我想知道是否有人能解决这个问题。
THX
答案 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%)存储在执行命令返回的文本之上。