InstallShield 通过VBS操作IIS

最近在做覆盖安装,不同安装包文件卸载时可以完美删除,只有Webservice不会删除,后来在帮助文档中发现这么一句话:

If a Web site already exists, Virtual Directories tied to that Web site in the project will be installed under that Web site. However, none of the properties set for that Web site in the InstallShield interface will be applied to the Web site in that case.

既然这样,干脆自己用脚本删除对应的Webservice。

Installshield 2009 , Installscript Project 工程

首先建立一个脚本:

在此脚本文件内编写一下脚本:

Code
 1 //
 2 // InstallScript 设置 IIS 脚本
 3 // 主要功能:通过使用VBS 查找、创建、更改、删除站点,
 4 //                         查找、创建、更改、删除虚拟目录           
 5 
 6 //prototype FindWebSite(STRING,STRING,NUMBER); 
 7 prototype FindWebVirtualDir(string);
 8 prototype DelWebVirtualDir(string);       
 9 
10 //*********************************************************
11 //** FindWebVirtualDir  检查Webservice是否存在
12 //** @param string      要查找的Webservice名称   
13 //** @return            1 找到了指定的webservice;
14 //**                       0 未找到指定的Webservice;                   
15 //*********************************************************        
16 function FindWebVirtualDir(strVirtualDirectoryName)    
17 object objIIS,objVirtualDirectory; 
18 number nvReturn;
19 begin
20      set  objIIS=CoGetObject("IIS://localhost/W3SVC/1/Root","");    
21      if(IsObject(objIIS)) then   
22          try
23           set objVirtualDirectory = objIIS.Create("IISWebVirtualDir",strVirtualDirectoryName); 
24           nvReturn=0;
25         catch
26           nvReturn=1;
27         endcatch; 
28      endif;
29      return nvReturn;
30 end;   
31 //*********************************************************
32 //** DelWebVirtualDir   删除指定的Webservice
33 //** @param string      要删除的Webservice名称   
34 //** @return            1 删除成功;
35 //**                       0 未删除成功;                   
36 //*********************************************************  
37 function  DelWebVirtualDir(strVirtualDirectoryName)
38 object objIIS,objVirtualDirectory; 
39 number nvReturn;
40 begin
41      set  objIIS=CoGetObject("IIS://localhost/W3SVC/1/Root","");    
42      if(IsObject(objIIS)) then   
43          try      
44           set objVirtualDirectory = objIIS.GetObject("IISWebVirtualDir",strVirtualDirectoryName);
45           if(IsObject(objVirtualDirectory)) then
46               objIIS.Delete("IIsObject",strVirtualDirectoryName);
47                 nvReturn=1; 
48           endif;   
49         catch
50           nvReturn=0;
51         endcatch; 
52      endif;
53      return nvReturn;
54 end;

此脚本只是个例子,剩余功能填充即可。

在Setup.Rul中调用函数:

http://www.cnblogs.com/HeroBeast/archive/2009/03/06/1404791.html处学习,很全面

转载于:https://www.cnblogs.com/zhulinyixuan/archive/2013/03/28/2986902.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
根据引用和引用的信息,InstallShield教程有三个文档,一个是chm格式的,一个是pdf的,还有一个是从网上摘抄的。对于软件开发人员来说,InstallShield是一个非常优秀的工具,用来打包自己的应用程序,可以用来创建安装程序和升级程序。所以,如果你想学习InstallShield的使用方法,可以参考这些教程文档来了解基本的使用方法和步骤。你可以根据自己的需要选择合适的教程文档格式来学习。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [installshield 教程](https://download.csdn.net/download/zhhf123/2674945)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] - *2* [【教程】InstallShield使用完全教程](https://blog.csdn.net/weixin_33736649/article/details/85570270)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] - *3* [InstallShield 2020 基本使用教程](https://blog.csdn.net/weixin_43203889/article/details/119056273)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值