1

在尝试按照此处的建议使用 InstallShield 创建主要升级现有 Web 应用程序时,我创建了一个新的应用程序池,但无法创建新的 IIS 应用程序。但是,虽然新安装会创建新池,但它不会更改现有虚拟目录以使用新池。日志说虚拟目录已经存在并将其保留在那里。

是否可以通过安装来更改现有组件,或者只是如何删除虚拟目录组件,因为删除文件表需要一个目录?

谢谢

4

1 回答 1

0

最终通过

  1. 使用字符串编辑器表中的网站名称的值创建了一个名为 WEBSITENAME 的属性(这是为了重用)
  2. 创建了一个 VBscript 自定义操作,在RemoveFolders之后运行,条件如下:IIS_VERSION <= "#6" and NOT INSTALLED

代码是:

Dim objWebServer
Dim objVirtualDir
Dim strAppName
Dim intASPSessionTimeout
Dim SubVirtDir
On Error Resume Next
    CreateApplication = ERROR_SUCCESS
    strAppName = Session.Property("WEBSITENAME")    
    SubVirtDir = "/" + strAppName
    intASPSessionTimeout = 120
    Set objWebServer = GetObject("IIS://localhost/W3SVC/1/Root")
    'Delete the Virtual subdirectory
    Set objVirtualDir = objWebServer.Delete("IISWebVirtualDir", SubVirtDir) 
    Set objVirtualDir = objWebServer.Delete("IISWebVirtualDir", strAppName) 

这就是我需要做的。现在我需要想出一个类似的方法来有条件地 Enable32bitAppOnWin64!

于 2013-03-06T12:44:02.837 回答