InstallShield使用——几个技术问题介绍

InstallShield自定义对话框以及问题 前言:由于项目需要,而Installshield中的界面没有我们想要的,就需要定制一套了,也在网上看了很多资料,现在项目做的差不多了,总结一下 网上有很多Installshield高手的文章,都可以参考一下,先推荐一篇: InstallShield自定义安装界面, 是Kevin.Wan写的,主要是替换InstallShield界面的一些图片。 1. 在自定义对话框的时候,无意中看到了I 阅读详情

InstallShield使用——几个技术问题介绍

1         几个技术问题介绍

1.1       数据库设置

在安装程序中设置数据库,有两种方法:一种采用命令行附加数据库文件,一种是通过SQL Script脚本创建数据库,对于编写SQL Script过于复杂,或创建数据库时间过长时建议采用第一种方法。

1.1.1     命令行附加数据库

1.       将数据库文件(a_data.mdf和a_log.ldf)插入Support Files中;

2.       定义变量:

STRING psvSQLsvr, psvSQLusr, psvSQLpwd;

BOOL bvWindowsLogin;

3.       定义CreateDataBase函数:

prototype CreateDataBase(STRING,STRING,STRING);

4.       编写CreateDataBase函数:

function CreateDataBase(svSQLsvr,svSQLusr,svSQLpwd)

     STRING szWaitTxt,szdatabase,path,path3;

begin   

     path=TARGETDIR^"Data""a_data.MDF";

     path3=TARGETDIR^"Data""a_log.LDF";

     szWaitTxt=" 正在创建数据库....";

     SdShowMsg (szWaitTxt, TRUE);

     Delay(3);

     CopyFile(SUPPORTDIR^"a_data.MDF",path);

     CopyFile(SUPPORTDIR^"a_log.LDF",path3);

     szdatabase = "/U "+svSQLusr+" /P "+svSQLpwd+" /S "+svSQLsvr+" /Q ""exec sp_attach_db N'a' , N'"+path+"',N'"+path3+"'""";

     if (LaunchAppAndWait("osql.exe", szdatabase,WAIT)<0) then;

         MessageBox ("数据库创建失败!请确您的系统中已安装 Microsoft SQL Server 2000."n如仍无法解决,请联系系统供应商!",SEVERE);

         SdShowMsg (szWaitTxt, FALSE);

         return -1;

     endif;    

end;       

5.       获取数据库的登录信息,如果没有创建数据库的脚本,安装程序不会弹出SQL登录验证界面,需要编写代码:

Prototype number SQLLogin(); //定义登录函数

function SQLLogin ()

     number nResult, nSize;

     STRING sMessage, sTemp;

begin

     Dlg_Sql:

SQLRTInitialize2 ();              

     nResult = SQLServerSelectLogin(psvSQLsvr, psvSQLusr, psvSQLpwd, bvWindowsLogin );  

     if (nResult = BACK) return BACK;  

     nSize=MAX_PATH;

     MsiGetProperty( ISMSI_HANDLE, "IS_SQLSERVER_STATUS", sTemp, nSize );

     if(sTemp!="0") then

         nSize = _MAX_PATH;

         MsiGetProperty( ISMSI_HANDLE, "IS_SQLSERVER_STATUS_ERROR", sMessage, nSize );

         if( nSize = 0 ) then

              sMessage = SdLoadString( IDS_IFX_SQL_ERROR_LOGIN_FAILED );

         endif;

         MessageBox( sMessage, MB_OK );    

         goto Dlg_Sql;

     endif;

     return 0;

end;

6.       在

InstallShield软件详解 InstallShield使用说明 文章目录InstallShield使用说明术语解释工程介绍InstallScriptBasic MSIInstallScript MSI如何选择适合的工程概念介绍软件功能介绍General InformationProject File FormatProduct NameProduct VersionEnable MaintenanceInstallDirDisplay IconDisable Change ButtonDisable Remove ButtonSetu 阅读详情

相关推荐

InstallShield使用指南

InstallShield使用指南

hfdhjjj的博客 2607

installer技术深入解析与实践:InstallShield与AutoBuild

本文还有配套的精品资源,点击获取 简介:installer技术,包括 InstallShield 和 AutoBuild ,是软件安装部署的关键技术,支持应用程序的便捷安装和卸载。本文深入探讨这两种工具,详细说明如何使用InstallShield创建定制安装程序,包括项目创建、文件管理、安装序列逻辑、用户界面定制和响应文件自定义动作。同时,介绍A...

weixin_42163404的博客 1643

从JTAG到AS模式:一文搞懂EP4CE10E22C8N所有配置引脚(MSEL, nCONFIG, DATA0)的用法

本文深入解析EP4CE10E22C8N FPGA的配置引脚(MSEL, nCONFIG, DATA0)在不同模式下的使用方法,特别关注从JTAG到AS模式的切换要点。通过详细的配置模式对比、状态机分析和PCB布局建议,帮助开发者避免常见陷阱,提升FPGA配置成功率。

weixin_33713350的博客 319

手把手教你用示波器抓取MIPI D-PHY波形:从LP11到HS Burst的完整信号解析

本文详细介绍了使用示波器精准捕获MIPI D-PHY信号的关键技巧,包括探头选择、示波器参数设置、信号状态解析及高级触发配置。通过实战案例和波形分析,帮助工程师快速识别从LP11到HS Burst的各种信号状态,解决常见的信号完整性问题,提升调试效率。

weixin_30471561的博客 560

C++/WinRT入门指南:现代Windows原生开发的核心技术

Windows运行时(WinRT)是微软为现代Windows应用开发设计的一套跨语言API框架,它基于COM技术原理构建,提供了统一的二进制接口标准。这项技术的核心价值在于让开发者能够以原生性能调用系统级功能,同时保持跨语言兼容性。在工程实践中,C++/WinRT作为官方推荐的C++语言投影,通过标准C++语法封装WinRT API,显著降低了开发复杂度。特别是在异步编程场景中,结合C++20协程特性,能够大幅提升代码可读性和维护性。对于需要高性能图形处理、系统集成或跨平台兼容的桌面应用开发,掌握C++/W

weixin_33910191的博客 1198

配置Dot1q终结子接口实现跨设备VLAN间通信示例

示例图 一.实验目的 1.配置Dot1q终结子接口实现跨设备VLAN间通信示例 二.注意事项 1.Dot1q终结子接口和QinQ终结子接口不支持透传不带VLAN Tag的报文, 收到不带VLAN Tag的报文会直接丢弃 2.由于三层以太网子接口不支持VLAN报文,当它收到VLAN报文时,会将VLAN报文当成是 非法报文而丢弃,因此,需要在子接口上将VLAN Tag剥掉,也就是需要VLAN终结 三.VLAN终结简介 1.VLAN终结的实质包含两个方面: ①.对接口接收到报文,剥除VLAN标

qq_44751470的博客 7097

最速下降法、牛顿法、拟牛顿法,Python实现高维二次目标函数优化

原理什么的就不说了,只有代码。。。 十元二次目标函数,求极小值点。 1.最速下降法 import random import numpy as np import matplotlib.pyplot as plt from sympy import * def goldsteinsearch(f, df, d, x, alpham, rho, t): flag = 0 a = 0 b = alpham fk = f(x) gk = df(x)

我乐飞的技术博客 2243

ADAMS软件二次开发:ADAMS软件API接口详解

API(Application Programming Interface,应用程序编程接口)是一种允许不同软件应用程序之间进行交互的接口。在ADAMS软件中,API提供了与软件内部功能直接交互的能力,使用户能够通过编写自定义代码来扩展软件的功能,实现自动化操作或集成到其他系统中。ADAMS软件的API主要基于C++和Python,允许用户通过这些编程语言来访问和控制ADAMS的模型、仿真和分析功能。API接口的使用,需要对编程语言有一定的了解,同时也需要熟悉ADAMS软件的基本操作和模型结构。

kkchenjj的博客 1863

海康威视iVMS-8700综合安防管理平台 文件读取漏洞复现

HIKVISION iVMS 综合安防管理平台download接口处存在任意文件读取漏洞,攻击者通过构造token绕过身份认证,读取服务器中的目录信息与敏感文件。使系统处于极不安全的状态。

0xSec 3304

YOLOv11改进 | 损失函数改进篇 | MPDIoU、InnerMPDIoU助力细节涨点(二次创新 + 代码解析)

本文为读者详细介绍了YOLOv11模型的最新改进,带来的改进机制是最新的损失函数MPDIoU和融合了最新的Inner思想的InnerMPDIoU(效果打爆之前的所有的损失函数提升检测精度和处理细节方面的作用。通过深入探讨MPDIoU和InnerMPDIoU(全网首发)的工作原理和实际代码实现,本文旨在指导读者如何将这些先进的损失函数技术应用到YOLOv11模型中,以提高其性能和准确性。文章内容涵盖从理论基础、代码实现,到实际教你如何添加本文的机制到你的模型中。

Snu77的博客 4024

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

上一篇: dotnet的安装包例子
下一篇: InstallScript的事件
死神在世
博客等级 码龄14年 233粉丝 102原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值