用NextInstaller制做B/S 系统的安装盘

Nextinstaller NextInstaller 是一个类似于InstallShield 的功能强大的安装盘制作工具,在很多实用性的功能, 细节上比InstallShield更加方便.<br/>主要特征 : <br/>1.可以制作简单过程控制的安装盘,无需组件环境<br/>2.采用专业的 AtSctipt 和 VBScript 脚本引擎,同时支持简易的.ini引擎<br/>3.可以制作数据库安装盘 <br/>4.可以制作Web程序的安装盘<br/>3.可以制作程序补丁<br/>5.可以制作数据库补丁,支持数据库的更新( DBXML ) <br/>7.可以不生成反安装信息 <br/>8.可以方便的让一个应用程序和一种文件类型进行关联 <br/>9.可以方便生成反安装快捷键 <br/>10.功能强大的变量表,用户更方便得进行变量管理 <br/>11.因为采用VBScript 进行过程控制,所以很方便的加入自定义的组件,对安装界面,功能进行扩展 <br/>12.强大的应用检测功能,可以在安装过程对正在运行的程序,服务进行提示,强行中止 <br/>13.用户可以更方便的定义自己的安装类型 <br/>14.方便的图片更换功能用户可以方便的设计自定义的安装图片 立即下载
以下以 .net 系统为例:
1. 判断 IIS 的版本号
        var int nMaxFrameVer;
        g_IISVer = Install.GetAppVer("IIS");
        if( g_IISVer < 5 )
        {
                MessageBox("请先安装 IIS");
                Install.CancelInstall();
                return;
        }
2. 判断 Framework 的版本号
        g_frameWorkVer = Install.GetAppVer("Framework");
        nMaxFrameVer = g_frameWorkVer.Left(g_frameWorkVer.Find("."));
        if (nMaxFrameVer<2)
        {
                MessageBox(Error_FrameWork) ;
                Install.CancelInstall();
                return ;
        }
3. 因为当前BS 应用需要连接数据库,所以在安装过程中需要输入数据库信息, 以下以 SqlServer 为例。
    DlgParam.SetValue("Prompt" , "设置数据库");
    DlgParam.SetValue("ItemCount" ,4 );
    DlgParam.SetValue("Item1_Prompt" , "数据库服务器:" );
    DlgParam.SetValue("Item2_Prompt" , 数据库名称:");
    DlgParam.SetValue("Item3_Prompt" , 登录名:");
    DlgParam.SetValue("Item4_Prompt" , "密 码:");
    DlgParam.SetValue("Item1_Data", g_DBServer );
    DlgParam.SetValue("Item2_Data", g_DBName );
    DlgParam.SetValue("Item3_Data", g_DBUser );
    DlgParam.SetValue("Item4_Style", 4 ,g_dbPwd);
    nOpType = Install.DoDialog( "SdEdit" , DlgParam );
    g_DBServer        =  DlgParam.GetValue("Item1_Data");
    g_DBName        =  DlgParam.GetValue("Item2_Data");
    g_DBUser        =  DlgParam.GetValue("Item3_Data");
    g_DBPwd          =  DlgParam.GetValue("Item4_Data");
               
    DataCmpGoto( nOpType , OT_CANCEL ,"Cancel" );
    DataCmpGoto( nOpType , OT_BREAK  ,"SdSetDestPath" );
   
  // 调用 VBScript 判断当前连接是否成功,成功的话就返回连接字符串
    g_dbConnStr = CallVBSFunction("GetSQLConnStr",g_DBServer,g_DBName,g_DBUser,g_DBPwd );
        if(g_dbConnStr  == "" )
        {
                MessageBox(Error_DataBaseConnStr) ;
                  Goto SetDataBase;
        }

4. 在安装完成后创建Web虚拟目录
    strTargetDir = Install.GetPath( "PATH_S_TARGETDIR" );
    // 调用 VBScript 创建Web虚拟目录
    //  只在第一次安装时才创建虚拟目录,更新安装不做任务操作
    if( Install.GetSetupMode() == SM_FINSTALL )
    {
            //修改WEB.CONFIG
            CallVBSFunction("WriteConfigXml",strTargetDir + "//Web.Config" ,"Connstring",g_dbConnStr) ;
           
            //重新注册IIS
            DlgParam.SetValue("Prompt" ,Text_RegIIS);
            Install.ShowWaitingDlg( DlgParam );
            strRegIISCmd = GetFrameWorkDir() + "aspnet_regiis.exe -i" ;       
            //Install.ExecConsoleCmd( strRegIISCmd , 1 );

          // 设置 IIS 的一些属性,开放一些权限
          CallVBSFunction("SetIISInfo",g_frameWorkVer) ;
          Install.CloseWaitingDlg();

          //创建Web虚拟目录
          DlgParam.SetValue("Prompt" ,Text_CreateVirtualDir);
          nstall.ShowWaitingDlg( DlgParam );
          CallVBSFunction( "CreateVirtualDir" , g_virtualDir , strTargetDir , "default.aspx" );
          Install.CloseWaitingDlg();
}

5. 在安装完成后打开一个默认的页面
    if( Install.GetSetupMode() == SM_GENERAL )
    {
            strSetURL = "http://127.0.0.1/" + g_virtualDir + "/ public/login.aspx” ;
            ShellExec( strSetURL );
    }
6. End



完整的例子:
var CValueSet        DlgParam;
var double                g_IISVer;
var string      g_frameWorkVer ;
var string                g_virtualDir;
var string            g_dbServer;
var string            g_dbName;
var string            g_dbUser;
var string            g_dbPwd;
var string      g_dbConnStr;
var int                nOpType;

////////////////////////////////////////////////////////////////////////////////
//定义界面文字

var string Error_IIS ;
var string Error_FrameWork ;
var string Error_VirtualDirCreate ;
var string Error_DataBaseConnStr ;
var string Text_CreateVirtualDir ;
var string Text_RegIIS ;
var string Label_DataBase_Title ;
var string Label_DataBase_Server ;
var string Label_DataBase_Name ;
var string Label_DataBase_User ;
var string Label_DataBase_Pwd ;
var string RunPage ;

////////////////////////////////////////////////////////////////////////////////

function void InitData()
{
        Error_IIS                                = "请先安装 IIS" ;
        Error_FrameWork                = "FrameWork版本至少为2.0或更高版本" ;
        Error_VirtualDirCreate        = "虚拟目录创建失败" ;
        Error_DataBaseConnStr        = "数据库连接错误" ;
        Text_CreateVirtualDir        = "正在创建虚拟目录..." ;
        Text_RegIIS                        = "正在更新 ASP.NET 应用程序的脚本映射..." ;
        Label_DataBase_Title        = "设置数据库" ;
        Label_DataBase_Server        = "数据库服务器:" ;
        Label_DataBase_Name        = "数据库名称:" ;
        Label_DataBase_User        = "登录名:" ;
        Label_DataBase_Pwd                = "密 码:" ;
        RunPage                                = "public/login.aspx" ;
        g_virtualDir                        = "DocGuarder";
        g_dbServer                                = "127.0.0.1" ;
        g_dbName                                = "DocGuarder" ;
        g_dbUser                                = "sa" ;
        g_dbPwd                                = "" ;
}
function void OnBegin()
{
        InitData() ;
       
        var int nMaxFrameVer;
        g_IISVer = Install.GetAppVer("IIS");
        if( g_IISVer < 5 )
        {
                MessageBox(Error_IIS);
                Install.CancelInstall();
                return;
        }
       
        g_frameWorkVer = Install.GetAppVer("Framework");
        nMaxFrameVer = g_frameWorkVer.Left(g_frameWorkVer.Find("."));
        if (nMaxFrameVer<2)
        {
                MessageBox(Error_FrameWork) ;
                Install.CancelInstall();
                return ;
        }

       
        if( Install.IsInstalled() == 0 )
                FirstInstall();
        else
                UpdateInstall();
}

function void FirstInstall()
{
  SdWelcome:
    nOpType = Install.DoDialog( "SdWelcome" );
    DataCmpGoto( nOpType , OT_CANCEL ,"Cancel" );

  SdSetDestPath:
    nOpType = Install.DoDialog( "SdSetDestPath" );
    DataCmpGoto( nOpType , OT_CANCEL ,"Cancel" );
    DataCmpGoto( nOpType , OT_BREAK  ,"SdWelcome" );

  SetDataBase:
    DlgParam.SetValue("Prompt" , "设置数据库");
    DlgParam.SetValue("ItemCount" ,4 );
    DlgParam.SetValue("Item1_Prompt" , "数据库服务器:" );
    DlgParam.SetValue("Item2_Prompt" , 数据库名称:");
    DlgParam.SetValue("Item3_Prompt" , 登录名:");
    DlgParam.SetValue("Item4_Prompt" , "密 码:");
    DlgParam.SetValue("Item1_Data", g_DBServer );
    DlgParam.SetValue("Item2_Data", g_DBName );
    DlgParam.SetValue("Item3_Data", g_DBUser );
    DlgParam.SetValue("Item4_Style", 4 ,g_dbPwd);
    nOpType = Install.DoDialog( "SdEdit" , DlgParam );
    g_DBServer        =  DlgParam.GetValue("Item1_Data");
    g_DBName        =  DlgParam.GetValue("Item2_Data");
    g_DBUser        =  DlgParam.GetValue("Item3_Data");
    g_DBPwd          =  DlgParam.GetValue("Item4_Data");
       
    DataCmpGoto( nOpType , OT_CANCEL ,"Cancel" );
    DataCmpGoto( nOpType , OT_BREAK  ,"SdSetDestPath" );
   
    // 调用 VBScript 判断当前连接是否成功,成功的话就返回连接字符串
    g_dbConnStr = CallVBSFunction("GetSQLConnStr",g_DBServer,g_DBName,g_DBUser,g_DBPwd );
    if(g_dbConnStr  == "" )
    {
          MessageBox(Error_DataBaseConnStr) ;
          Goto SetDataBase;
    }
       
  Cancel:
}

function void UpdateInstall()
{
  Install.DoDialog( "SdSetUpdateMode" );
}


function void OnProcess()
{ 
    Install.SetVarTabValue( "VirtualDir" ,g_virtualDir );
       
    var string strRegIISCmd,strTargetDir ;
    Install.DoDialog( "SdProcess" );
    DataCmpGoto( nOpType , OT_CANCEL  ,"Cancel" );
    DataCmpGoto( nOpType , OT_REBOOTDO ,"RebootInstall" );
   
    strTargetDir = Install.GetPath( "PATH_S_TARGETDIR" );
       
    // 调用 VBScript 创建Web虚拟目录
    if( Install.GetSetupMode() == SM_FINSTALL)
    {
        //修改WEB.CONFIG
        CallVBSFunction("WriteConfigXml",strTargetDir + "//Web.Config" ,"Connstring",g_dbConnStr) ;
        //重新注册IIS
        DlgParam.SetValue("Prompt" ,Text_RegIIS);
        Install.ShowWaitingDlg( DlgParam );
        strRegIISCmd = GetFrameWorkDir() + "aspnet_regiis.exe -i" ;       
        //Install.ExecConsoleCmd( strRegIISCmd , 1 );
        CallVBSFunction("SetIISInfo",g_frameWorkVer) ;
        Install.CloseWaitingDlg();
        DlgParam.SetValue("Prompt" ,Text_CreateVirtualDir);
        Install.ShowWaitingDlg( DlgParam );
        CallVBSFunction( "CreateVirtualDir" , g_virtualDir , strTargetDir , "default.aspx" );
        Install.CloseWaitingDlg();
    }
       
    return;
   
RebootInstall:
Cancel:
}

function void OnEnd()
{
    var string strSetURL;
    if( Install.GetSetupState() == SS_INSTALL )
    {
        Install.DoDialog( "SdFinish" );
        if( Install.GetSetupMode() == SM_FINSTALL )
        {
            strSetURL = "http://127.0.0.1/" + g_virtualDir + "/" + RunPage ;
            ShellExec( strSetURL );
        }
    }
    else if( Install.GetSetupState() == SS_INSTALL_REBOOTDO )
            Install.DoDialog( "SdRebootDo" );
}

//===================================
// 在反安装时执行的脚本
//===================================
function void OnUninstallBegin()
{
    g_virtualDir = RegKey.GetRegStrValue( "HKEY_LOCAL_MACHINE" , "SOFTWARE//HuatuSoft//DocGuarder" , "VirtualDir" , "" );
    CallVBSFunction("DeleteVirtualDir", g_virtualDir) ;
   
    Uninstall.Uninstall();
}


function string GetFrameWorkDir()
{
    var string strWinPath;
    var string strPath;
    var string strFrameWorkVer;
   
    // 得到framework 版本号
    strFrameWorkVer = Install.GetAppVer("Framework");
   
    //得到WINDOWS目录
    strWinPath = Install.GetPath("PATH_S_WIN");
    //得到FRAMEWORK目录
    strPath    = strWinPath + "//Microsoft.NET//Framework//V" + strFrameWorkVer + "//";
 
    return strPath;
}

使用Python实现深度学习模型:智能光污染监测与管理 本项目将通过以下几个步骤实现智能光污染监测:收集光污染图像数据数据预处理构建深度学习模型训练模型评估模型部署模型用于实时监测通过本文介绍的步骤,我们实现了一个使用Python和深度学习技术的智能光污染监测与管理系统。该系统能够自动识别光污染源,为相关管理部门提供科学依据,以便更好地规划和管理城市照明。同时,这一方法还可以扩展到其他环境监测领域,为环境保护贡献力量。 阅读详情

相关推荐

实战指南:基于Windows Server构建企业级AAA认证体系

本文详细介绍了如何在Windows Server环境下构建企业级AAA认证体系,涵盖AD域服务部署、NPS服务器配置及华为设备对接实战。通过整合Radius协议与AD域账号管理,实现网络设备的统一认证与权限控制,提升企业IT安全管理效率。特别适用于需要零成本实现AAA认证的中大型企业。

weixin_28304023的博客 422

NextInstaller4.08 介绍

NextInstaller是一个功能强大的安装盘制作工具 可以制作C/S应用软件安装盘。 可以制作软件升级包。 可以制作数据库安装盘。 可以制作数据库升级包。 可以制作Web安装盘(asp,.net,jsp,php…)。 使用方法与当前流行的InstallShell安装盘制作工具类似,但其使用方法非常简单,在某些方面功能更灵活方便 使用Atscript语言作为安装控制脚本,使用方...

qq_38404726的博客 504

kmeans聚类分析结果怎么看_【Stata与机器学习】物以类聚-KMeans算法应用案例介绍...

古语有云:物以类聚,人以群分。KMeans是无监督机器学习中的聚类算法中最简单的一种——基于特征对样本进行归为不同的类,很好地阐述了‘物以类聚’这句话的精髓。机器学习又叫统计学习。既然都统计了,所以当然包括了计量经济学。所以一般来说,机器学习的算法类型远多于计量经济学。比如线性回归,这个算是机器学习算法中比较基础的部分。当然,计量经济学在回归分析、因果推断方面的造诣,也是普通机器学算法所不能比的。...

weixin_39857480的博客 1万+

不错的ASP函数库

不错的ASP函数库                   函数目录                    ----------------------------------------------- 函数ID:0001[截字符串]                        函数ID:0002[过滤html]             

SmartJavaer的专栏 2547

采用MPU6050的手势遥控器

随着社会的发展与进步,电子产品日益更新,个人家庭迎来了越来越多的智能家电。然而,现在的智能电子设备产品的遥控器多数都是按键形的。操作繁琐不直观,学习成本大。并且对于有老人小孩的家庭,给他们的操作带来了巨大的障碍。手势遥控器是指利用简单的手势来指挥电子设备,获得便捷的操作体验。让家庭成员都可以享受科技发展带来的福利。MPU6050是一个运动传感器,内置陀螺仪,再由电子设备利用判断结果做出相应的响应即...

Sakura的博客小站 6602

基于Simulink的自适应反步法(Adaptive Backstepping)控制​

本文针对非线性系统控制中未知参数和强非线性耦合的挑战,提出基于Simulink的自适应反步法解决方案。通过融合参数在线估计与反步递归设计,该方法显著提升了永磁同步电机(PMSM)速度控制的鲁棒性,使跟踪误差从20%降至3%,参数估计收敛时间小于0.5秒。文章详细阐述了从算法推导到Simulink实现的完整流程,包括系统架构设计、核心算法推导(以PMSM为例)、模块化建模方法、参数优化策略以及工程部署建议。提供的自适应控制器MATLAB代码和关键参数表可直接应用于实际工程,为电机驱动、机械臂等非线性系统控制提

xiaoheshang_123的博客 101

常用的一些小技巧

1.获得系统时间: 2.取得来访用的IP: 3.获得系统,浏览器版本: window.document.write("版本:"+navigator.appName+navigator.appVersion+" browser.") 4.去除IE混动条: 5.进入网站,跳出广告: window.open(http://www.XXXXXX.com,,height=

银狐的专栏 966

AI快速变现之路,AI视频创作

初期投入$3000(工具订阅+样片制作),重点攻克跨境电商和本地生活服务市场。关注2025年AIGC视频工具的API降价趋势(如Pika企业版折扣可达50%),建议与云服务商签订长期合作协议。

qq_29896351的博客 1982

WINCC中读取ACCESS

<br />经测试该代码在WinCC和.vbs文件中均可用可用<br />Dim objConn,objRs,strSql<br />Set objConn = CreateObject("ADODB.Connection")<br />objConn.ConnectionString = "provider=microsoft.jet.oledb.4.0;data source=d:/student.mdb"<br />objConn.open<br />Set objRs = CreateObject(

xadragon的专栏 2592

【考试大纲】中级多媒体应用设计师考试大纲

中级多媒体应用设计师考试大纲

邓邓子的博客 382

beegfs源码分析

BeeGFS的客户端是由一个内核模块和两个系统服务组成的,这里咱们主要分析内核模块。由于BeeGFS的目录树解析,是在父目录DEntry里找子目录或文件DEntry,逐级迭代完成的,所以在Mount文件系统时,须要从管理节点获取根元数据节点的ID,而后再向根元数据节点查询根目录的DEntry的信息,为后续的目录解析打下基础。获取类似/data/beeond/data/dentries/38/51/root/#fSiDs#/文件fileId的父路径。1.1 FileID的生成。Session网络消息。

wfzy的博客 1913

如何用 NextInstaller 在一个Project中支持多个语言的安装盘

要在一个Project 中支持生成多个 语言的安装盘主要实现以下几点1.生成多个Media 分别对应多个语言2.实生系统的界面分别为相应的语言     在相应的Mide属性中选择相对应的 Language3.在安装中出现的自定义文本分别为相应的语言    a.在所有出现自定义文本的地方都用变量来取代,    b.在project 中分别建立不同的StrTable 让

jonfei的专栏 837

NVIDIA Isaac GR00T N1 入门教程(一) 人形机器人多模态大语言模型

英伟达™ Isaac GR00T N1 是世界上首个用于通用仿人机器人推理和技能的开放式基础模型。该跨体模型采用多模态输入(包括语言和图像)在不同环境中执行操作任务。GR00T N1 在一个庞大的仿人机器人数据集上进行训练,该数据集包括真实捕获数据、使用英伟达 Isaac GR00T Blueprint 组件生成的合成数据(神经生成轨迹示例)以及互联网规模的视频数据。通过后期训练,它可以适应特定的应用、任务和环境。

2506_90492529的博客 3049

用NextInstaller制做B/S 系统的安装盘(www.atopsoft.net)

随着软件功能是日益强大,当前软件越来越依赖于系统的环境,所以软件在安装时都要对系统环境做一些判断,如 IIS 的版本号,MDAC 的版本号等。    针对这个问题, NextInstaller 提供了一个非常有用的 API, 可以很方便的得到一些常见环境的版本号:     1. 判断 IIS 的版本号        var int nMaxFrameVer;       

jonfei的专栏 798

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

用NextInstaller制做安装盘及数据库Pack

功能说明:安装盘在安装过程中判断当前数据库的版本号,如果版本号少于当前安装盘的版本号,则升级数据库。1.判断当前数据库的版本号function void OnProcess(){var int    nNewDBVer;var int  nDBVer;var int  nDBType;var int  nDBLoginMode;var string st

mfclp的专栏 1589

jre9下载 jdk9

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

NextInstaller 和 installshield注册文件的比较

  使用 NextInstaller 和 Installshield 都可以很方便的对文件进行注册,但在使用方法上各有不同。     1. 注册 Com 和服务        a.  用 Installshield 进行注册                        在文件的属性中选择selfregister就可以了          b. 用 Nextinstalle

mfclp的专栏 1215

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

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

用InstallAide(NextInstaller)实现针对不同的操作系统设置不同的注册表

在软件在安装过程中我们常要对不同的操作系统设置不同的注册表信息,如我们要在软件的安装过程中自动关闭XP自带的防火墙,这时,我们的setup 就要自动进行判断,当前系统是不是XP ,如果是则就在注册表中写入:[HKEY_LOCAL_MACHINE/SYSTEM/ControlSet001/Services/SharedAccess/Parameters/FirewallPolicy][HKE

jonfei的专栏 804

如何用NextInstaller做数据库安装盘

主要是定义 DataBase.ini方法:[Comm]RunFileCount = 2RunFile1 = [PATH_S_SUPPORTDIR]/CreateTab.sqlRunFile1_Prompt=[VAR_CREATETAB_PROMPT]RunFile2 = [PATH_S_SUPPORTDIR]/insert.sqlRunFile2_Prompt=[VAR_INSERTROW

installaide的专栏 577

如何在应用软件的安装盘中打包Framework

    随着 .net 的广泛使用,使用 .net 开发的软件也日益增多,但 .net 的软件都需要安装 framework 平台,这给软件的安装带来了不便。    NextInstaller 是一个功能强大的安装盘制作工具,针对.net 的问题,Nextinstaller 提供了几个功能强大的 Api ,可以很方便的实现 framework 的打包安装。    实现步骤如下(以下以安

mfclp的专栏 826

用NextInstaller实现针对不同的操作系统设置不同的注册表

在软件在安装过程中我们常要对不同的操作系统设置不同的注册表信息,如我们要在软件的安装过程中自动关闭XP自带的防火墙,这时,我们的setup 就要自动进行判断,当前系统是不是XP ,如果是则就在注册表中写入:[HKEY_LOCAL_MACHINE/SYSTEM/ControlSet001/Services/SharedAccess/Parameters/FirewallPolicy][HKE

installaide的专栏 512

用NextInstaller做安装盘时,如何在修改安装的对话框中禁止 "修改" 这一项

方法:在变量表中加入变量:VAR_S_MODIFYSETUP_MODES  取值为: SM_RESTORE | SM_REMOVE  

installaide的专栏 401

NextInstaller针对数据库安装的设计

DataBase.ini 格式说明格式:[Run]Count = 4Item1 = [PATH_S_SUPPORTDIR]/CreateTab.sqlItem1_Prompt=[VAR_CREATETAB_PROMPT]Item1_Type=SqlFile Item 2 = [PATH_S_SUPPORTDIR]/insert.xmlItem 2_Prompt=

installaide的专栏 465

InstallAide(NextInstaller)针对数据库安装的设计

 DataBase.ini 格式说明格式:[Run]Count = 4Item1 = [PATH_S_SUPPORTDIR]/CreateTab.sqlItem1_Prompt=[VAR_CREATETAB_PROMPT]Item1_Type=SqlFile Item 2 = [PATH_S_SUPPORTDIR]/insert.xmlItem 2_Prom

jonfei的专栏 684

如何制作数据库升级安装包

在软件升级更新中,数据库的升级是在所难免。 常见现象: 1.缺少表    例如:DB1中有table1;DB 2中有table1,table2;DB 3中有表table1,table2,table3。       DB3是最新的数据库结构,现在要把DB1和DB2升级到DB3,传统模式上,对于DB1和DB2做不同的升级包。 2.缺少字段,修改字段    例如:DB 1

mfclp的专栏 1522

如何修改安装包向导中的 Logo

    为了使安装向导更加生动,在制做应用的安装包时,往往要对向导上的Logo 进行动态修改,以起到提醒和警示作用。   以下以 Nextinstaller 为例:   就是在脚本中动态调用 Install.SetLeftBarImage( strImageFile );   如:       function void OnEnd()       {        

mfclp的专栏 1112

关于设置安装包中的默认变量

     在制用应用软件安装包时,常常会针对不同的用户要设置不同的数据,如一些 c/s 结构的管理软件,为了便于企业部署,往往要在安装中把服务端的IP地址写进去,这样,客户端一安装就可以使用了,而不需要另外进行配置。对于这个问题,Nextinstaller 提供了一个变量修改工具,可以动态修改安装包中的变量。 例:以下以一个IM 为例,实现可以动态修改安装包中的服务器地址     

mfclp的专栏 640
上一篇: 用NextInstaller制做安装盘及数据库Pack
下一篇: 如何制作驱动安装盘?
mfclp
博客等级 码龄22年 3粉丝 18原创
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值