Install Shield制作安装包技巧(注册篇)
来源:互联网 发布:雨果维文知乎 编辑:程序博客网 时间:2024/05/17 04:57
1、IIS或PWS虚拟目录
对于B/S版本的安装,可以用Install Shield创建IIS虚拟目录(在win2000下面可以用VirtualRoot.ADSI对象,Win98下面直接写注册表)。
//win2000下设置IIS虚拟目录
prototype SetVirtualRootbyNT(STRING, STRING);
//传入路径,虚拟目录名
function SetVirtualRootbyNT(szPath, szVirtualRoot)
VARIANT objVR;
begin
objVR = CreateObject("VirtualRoot.ADSI");
if !IsObject(objVR) then
return FALSE;
endif;
if (objVR.AddVirtualRoot("localhost", TARGETDIR + "//" + szPath, szVirtualRoot) == 1) then
return TRUE;
else
return FALSE;
endif;
end;
//win98下设置PWS虚拟目录
prototype SetVirtualRootby9X(STRING, STRING);
//传入路径,虚拟目录名
function SetVirtualRootby9X(szPath, szVirtualRoot)
VARIANT objVR;
STRING szKey,szName;
begin
RegDBSetDefaultRoot ( HKEY_LOCAL_MACHINE );
//判断是否安装PWS或IIS
if (RegDBKeyExist ("Software//Microsoft//InetStp") < 0) then
MessageBox("您需要建立PWS或者是IIS服务", INFORMATION);
return FALSE;
endif;
szKey = "System//CurrentControlSet//Services//W3SVC//Parameters//Virtual Roots";
szName = "/" + szVirtualRoot; //虚拟目录名为EcreateRestaurant
if (RegDBSetKeyValueEx (szKey , szName , REGDB_STRING , TARGETDIR + szPath + ",,201" , -1 ) < 0 ) then
return FALSE;
endif;
return TRUE;
end;
2、删除COM组件
prototype DeleteCOM(STRING); //传入COM组件名
function DeleteCOM(szCOMAppName)
VARIANT objComManage;
NUMBER nvOS;
STRING svResult;
begin
if szCOMAppName = "" then
return TRUE;
endif;
if (GetSystemInfo ( OS , nvOS , svResult )!= 0) then
return FALSE;
endif;
if (nvOS == IS_WINDOWSNT) then
objComManage = CreateObject("ComManage.DeleteCOM");
if !IsObject(objComManage) then
return FALSE;
endif;
if objComManage.IsExistsCOMApp(szCOMAppName) then
objComManage.StopCOMApp(szCOMAppName);
objComManage.DeleteCOMApp(szCOMAppName);
endif;
return TRUE;
endif;
end;
3、注册Delphi下的sockSrv服务及中间件服务器
以下函数仅用于Delphi下开发的应用程序
//安装套接字服务器
prototype InstallSocketSrv(STRING); //传入路径
function InstallSocketSrv(szPath)
STRING szSockSrv;
NUMBER nResult;
begin
RegDBSetDefaultRoot ( HKEY_LOCAL_MACHINE );
nResult = RegDBKeyExist("//SYSTEM//CurrentControlSet//Services//GraspSocktSrvr");
if nResult < 0 then
//szSockSrv = TARGETDIR + "//" + szPath;
if (LaunchAppAndWait (szPath, "/install", WAIT) < 0) then
return TRUE;
endif;
endif;
return TRUE;
end;
//注册应用服务器
prototype InstallAppServer(STRING);
//传入路径
function InstallAppServer(szPath)
STRING szKey;
NUMBER Result;
begin
RegDBSetDefaultRoot ( HKEY_LOCAL_MACHINE );
//注册CLASS
szKey = "//Software//CLASSES//CLSID//" + @U_Reg_AppClass + "//LocalServer32";
if (RegDBCreateKeyEx (szKey, '') >= 0) then
RegDBSetKeyValueEx (szKey, '', REGDB_STRING, szAppPath, -1);
endif;
//注册TLB
szKey = "//Software//CLASSES//TypeLib//" + @U_Reg_AppTLB + "//1.0//0//win32";
if (RegDBCreateKeyEx (szKey, '') >= 0) then
RegDBSetKeyValueEx (szKey, '', REGDB_STRING, szAppPath, -1);
endif;
//注册TLB
szKey = "//Software//CLASSES//TypeLib//" + @U_Reg_AppTLB + "//1.0//HELPDIR";
if (RegDBCreateKeyEx (szKey, '') >= 0) then
RegDBSetKeyValueEx (szKey, '', REGDB_STRING, TARGETDIR, -1);
endif;
end;
转自:http://www.wangchao.net.cn/bbsdetail_29702.html
- Install Shield制作安装包技巧(注册篇)
- 安装程序制作(Install Shield)
- Install Shield制作安装软件
- Install Shield安装程序制作图解
- Install Shield Limited Edition 下载、注册、安装 VS打包安装包
- Install shield 2009 支持中文安装包
- Install Shield 静默安装
- 使用install shield制作安装程序问题集锦
- [转]Install Shield制作应用程序安装软件的方法
- install shield express 10.2 如何注册ocx控件或安装字体文件
- Install Shield 安装文件的命令行参数
- Install Shield静默安装第三方应用
- Nullsoft Scriptable Install System (免费安装包制作工具)
- 利用VS2012自带install-shield程序打包安装文件
- Install Shield 修改Branding
- Install Shield Lanch Readme
- Install Shield 入门教程
- Install Shield Silent Installs
- 帮帮我同学吧
- 让鼠标移动于TextField上方时显示为手型
- 好程序员的十大习惯之三 透过现象看本质,抓住最重要的事情
- Alignment of structure
- 飞信的只言片语
- Install Shield制作安装包技巧(注册篇)
- IP和子网掩码
- 用InstallShield检测是否安装IIS的脚本
- 生命的意义自己赋予
- 用installshield打包时在注册表里注册项和键值的动态设定方法
- Ubuntu 9.10 安装JDK
- java抽取word,pdf的四种武器
- GetClientRect与GetWindowRect
- 贴上收藏的SQL常用分页的办法~~