Install Shield Script小结(调用api,com,bat)

本文总结了使用Install Shield Script进行API(如GetUserName)、COM组件和批处理文件(bat)调用的经验。通过GetUserName函数,可以获取当前线程关联的用户名,并探讨了如何使用GetUserNameEx和IADsADSystemInfo接口获取更详细的用户信息。
摘要由CSDN通过智能技术生成

Install Shield Script小结(调用api,com,bat)


老大让我在先前打包程序基础上,把现在项目打包了(web项目)。基本要求是这样子的,用项目包括所需的控件,建虚拟目录。在用户可对SQLSERVER 对行配置,也可安装包内SQLEXPRESS(如果用户配置后无法连接且判断机器内未安装SQLSERVER即安装包内SQLEXPRESS),捣鼓了一星期,把学到的共享下。语法主要看下那个教程就可以,函数直接F1

基本资料:
InstallshieldX安装制作杂记.rar
installshieldjc.rar

再就是InstallShield和帮助,推荐它的官方论坛http://community.installshield.com/

1.用InstallShield Script调用WINAPI方法
如取得机器的登陆用户名。MSDN

GetUserName

The GetUserName function retrieves the name of the user associated with the current thread.

Use the GetUserNameEx function to retrieve the user name in a specified format. Additional information is provided by the IADsADSystemInfo interface.

BOOL GetUserName(
LPTSTR lpBuffer,
LPDWORD nSize
);
.......
DLL Requires Advapi32.dll.
Unicode

Implemented as GetUserNameW (Unicode) and GetUserNameA (ANSI). Note that Unicode support on Windows Me/98/95 requires Microsoft Layer for Unicode.

.......
参照 installshieldjc.rar里的对应于Winapi里的函数类型声明,于api函数签名对应,如下声明使用:
prototype BOOL Advapi32.GetUserNameA(BYREF STRING, BYREF NUMBER );
function  OnBegin()
STRING strLogonUser;
NUMBER numLogonUser
begin
// .
numLogonUser  =   255 ;  
GetUserNameA(strLogonUser, numLogonUser);
MessageBox(strLogonUser,INFORMATION);
// .
end;

2.用InstallShield Script调用其他Com
例1:使用DOM
 prototype WriteConfig( STRING );
 
function  WriteConfig(info) 
 
STRING  fileName;    
 
OBJECT  configDoc, child1,child2;
 begin   
     
set  configDoc  =  CoCreateObject( " MSXML.DOMDocument " );
     fileName
= INSTALLDIR ^ " oceswebs//Web.config " ;  
    
//  MessageBox(fileName,INFORMATION);
    
if  configDoc.Load(fileName)  then
        
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值