用Setup Factory7.0 制作安装程序基础教程(程序打包)

前几天,用VB6.0+Access做了一个化工物性查询系统,在打包的过程中首先考虑的是VB自带的打包的软件,生成后个人感觉不是特别喜欢那种安装界面风格。然后就试了试网上最流行的InstallShield2009,可是每当快结束的时候,就出现一个问题(File not found.An error occurred mergin Module "xxx':1033' for Feature 'ScanedFileFeature'),在网上查寻试了n多次未果,然后就试了试第二流行的Setup Factory 8.1(英文版),终于成功了,感觉不错。下面是在网上找到的一篇中文版的Setup Factory7.0基础教程。(原文来源:http://lovexuwenhao.javaeye.com/blog/151465,在此对lovexuwenhao(作者)表示感谢!)

如下是原文:

我们在用VB等语言编写并编译成程序后,往往会希望制作一个精美的安装程序来发布自己的软件。在这里推荐使用Setup Factory 7.0,这是一款强大的安装程序制作工具。该软件提供了安装制作向导界面,即使你对安装制作不了解,也可以生成专业性质的安装程序。可建立快捷方式,也可直接在 Windows 系统的注册表加入内容,还能在 Win.ini System.ini 内加入设定值,更可以建立反安装选项等等。它内附的向导可以一步步的带领您做出漂亮又专业的安装程序。目前该软件的最新版本为7.0.1,可在网上下载到,或访问该软件的汉化网站http://www.hanzify.org进行下载。

我在这里简单介绍一下如何使用Setup Factory 7.0来制作一个安装程序。

打开软件后,默认会跳出一个工程向导的界面,如下图。

此时可点创建来新建一个工程,或是按Esc键退出工程向导。由于在首次安装完Setup Factory 7.0后,默认语言为英文(可能会根据软件版本而不同),这样在制作安装程序时很不方便,因此需要先将默认语言改为中文简体。所以在这里我们先按Esc键退出工程向导,直接进入软件主界面。如下图。

在主界面菜单的编辑中选择“参数选择”,在出现的窗口中打开Document并点击Languages,然后在窗口右侧选中Chinese (Simplified),再点击下方的“设为默认”,最后确定即可。如下图。

现在我们可以开始制作安装程序了。先要添加安装文件。在菜单的工程中选择“添加文件”,或在主界面左侧的文件中选择“添加文件”。如下图所示,如果添加多个文件,则可选择“此文件夹中的所有文件”,如果有子文件夹,则选第三项“此文件夹及其子文件夹中的所有文件”。然后点击添加按钮。

文件加入后,即如下图所示。

用鼠标右键单击某一文件(也可选中多个文件对其编辑),选择“文件属性”,可修改相应设置。如下图所示,目标中默认为%AppFolder%,该变量表示安装路径,可以修改成其他自带变量或自定义变量。

如果该文件为可执行文件(如EXE文件等),那么默认会在开始菜单建立相应的快捷方式。点击上图中的快捷方式,即可出现相关设置。如果不需要快捷方式,可取消相关项目的选择。如下图。

文件加入后,我们需要设置安装程序的相关信息,如变量定义、软件卸载等。

在左侧设置中点击“会话变量”,如下图所示,这些变量是Setup Factory 7.0自带的变量,在此处定义或在代码中定义后,即可在安装过程中使用。

新建安装程序默认会创建卸载,如果你的软件不需要卸载,那么点击主界面左侧卸载中的“设置”,可关闭“创建卸载”。如下图。

下面我们就要开始制作安装过程中的屏幕了。屏幕分三部分,安装前、安装中、安装后。点击主界面左侧屏幕中的工程主题,在跳出的窗口下方选择工程主题可改变安装屏幕的样式。

点击上图的“安装之前”,可在窗口左侧添加或删除相应的屏幕。如下图。

选中某一屏幕后,点窗口下方的编辑按钮,即可对该屏幕进行编辑。如下图。

在“属性”中则可修改屏幕标题和按钮等。如下图。

在“操作”中则可对该屏幕事件进行编程。如下图。通过窗口底部的“添加操作”和“添加代码”,可加入相应的代码来实现所需功能。

在“安装之时”屏幕中,取消“安装期间显示进程屏幕”的选择,该屏幕在安装时将不再出现。如下图。

如果只是想在安装过程中不显示复制的文件名称及其路径,那么点击“编辑”按钮,并取消“显示状态文本一”的选择。如下图。

在“安装之后”中可编辑安装完毕后的屏幕界面。如下图。

上述过程完成后,一个简单的安装程序就可以发布了。点击菜单发布中的构建,如下图所示,默认选择“Web(单个文件)”即可,再点击下一步。

确定输出安装程序的文件夹及安装程序文件名称,如下图。然后点击“构建”按钮。

现在我们就可以测试做好的安装程序了。别忘了将刚刚的Setup Factory 7.0工程保存到电脑上。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Format[$] ( expr [ , fmt ] ) format 返回变体型 format$ 强制返回为文本 -------------------------------- 数字类型的格式化 --------------------------------     固定格式参数:     General Number 普通数字,如可以用来去掉千位分隔号     format$("100,1
VB6或者ASP 格式化时间为 MM/dd/yyyy 格式,竟然没有好的办法, Format 或者FormatDateTime 竟然结果和系统设置的区域语言的日期和时间格式相关。意思是尽管你用诸如 Format(Now, "MM/dd/yyyy"),如果系统的设置格式区域语言的日期和时间格式分隔符是"-",那他还会显示为 MM-dd-yyyy     只有拼凑: <%response.write
在项目中添加如下代码:新建窗口来显示异常信息。 Namespace My ‘全局错误处理,新的解决方案直接添加本ApplicationEvents.vb 到工程即可 ‘添加后还需要一个From用来显示错误。如果到这步还不会则需要先打好基础啦 ‘======================================================== ‘以下事件
转了这一篇文章,原来一直想用C#做k3的插件开发,vb没有C#用的爽呀,这篇文章写与2011年,看来我以前没有认真去找这个方法呀。 https://blog.csdn.net/chzjxgd/article/details/6176325 金蝶K3 BOS的插件官方是用VB6编写的,如果  能用.Net下的语言工具开发BOS插件是一件很愉快的事情,其中缘由不言而喻,而本文则是个人首创,实现在了用V
Sub 分列() ‘以空格为分隔符,连续空格只算1个。对所选中的单元格进行处理 Dim m As Range, tmpStr As String, s As String Dim x As Integer, y As Integer, subStr As String If MsgBox("确定要分列处理吗?请确定分列的数据会覆盖它后面的单元格!", _
  窗体代码 1 Private Sub Text1_OLEDragDrop(Data As DataObject, Effect As Long, Button As Integer, Shift As Integer, X As Single, Y As Single) 2 Dim path As String, hash As String 3 For Each fil
  Imports MySql.Data.MySqlClient Public Class Form1 ‘ GLOBAL DECLARATIONS Dim conString As String = "Server=localhost;Database=net2;Uid=root;Pwd=123456;" Dim con As New MySqlConnection
‘導入命名空間 Imports ADODB Imports Microsoft.Office.Interop   Private Sub A1() Dim Sql As String Dim Cnn As New ADODB.Connection Dim Rs As New ADODB.Recordset Dim S As String   S = "Provider=OraOLEDB.Oracl
Imports System.IO Imports System.Threading Imports System.Diagnostics Public Class Form1 Dim A(254) As String    Function ping(ByVal IP As Integer) As String Dim IPAddress As String IPAddress = "10.0.
VB运行EXE程序,并等待其运行结束 参考:https://blog.csdn.net/useway/article/details/5494084 Private Declare Function WaitForSingleObject Lib "kernel32" (ByVal hHandle As Long, ByVal dwMilliseconds As Long) As Long Pr
今天碰到一个问题,登陆的时候,如果不需要验证手机号为空,则不去验证手机号 因为登陆的时候所有的验证信息都存放在一个数组里 Dim CheckUserInfo() As String ={UserBirthday, SecEmail, UserMob, UserSex, RealNameFirst, RealName, CheckCardID, CheckCardType, Contactemail
在VB6.0中,数据访问接口有三种: 1、ActiveX数据对象(ADO) 2、远程数据对象(RDO) 3、数据访问对象(DAO) 1.使用ADO(ActiveX Data Objec,ActiveX数据对象)连接SQL Server 1)使用ADO控件连接 使用ADO控件的ConnectionString属性就可以连接SQL Server,该属性包含一个由分号分隔的argument=value语
注:大家如果没有VB6.0的安装文件,可自行百度一下下载,一般文件大小在200M左右的均为完整版的软件,可以使用。   特别提示:安装此软件的时候最好退出360杀毒软件(包括360安全卫士,电脑管家等,如果电脑上有这些软件的话),因为现如今的360杀毒软件直接会对VB6.0软件误报,这样的话就可能会在安装过程中被误报阻止而导致安装失败,或者是安装后缺乏很多必须的组件(其它的杀毒软件或安全卫士之类的
Private Sub Form_Load() Call conndb End Sub Private Function conndb() Dim cn As New ADODB.Connection Dim rs As New ADODB.Recordset Dim strCn, sql As String Dim db_host As String Dim db_user As String
  PPSM06S70:  Add  moddate  EDITSPRINTJOB:  MAX(TO_CHAR(ETRN.MODDATE, ‘yyyy/mm/dd/HH24:MI AM‘)) ACTUAL_SHIPDATE   4.Test Scenario (1) :Query SQL Test DN:8016578337 SELECT CTRN.TKCTID TRUCK_ID,        
  沒有出現CrystalReportViewer時,須安裝CRforVS_13_0. 新增1個數據集,新增1個數據表,添加二列,列名要和資料庫名一樣. 修改目標Framework 修改app.config, <startup >改成<startup useLegacyV2RuntimeActivationPolicy ="true">  CrystalReport1.rpt增加數據庫專家 在表單
Imports System.Threading Imports System Public Class Form1 Dim th1, th2 As Thread Public Sub Method1() Dim i As Integer For i = 1 To 100 If Me.Label1.BackColor =
Friend Const PROCESS_ALL_ACCESS = &H1F0FFF = 2035711 Friend Const PROCESS_VM_READ = &H10 Friend Const PROCESS_VM_WRITE = &H20 Friend Const PAGE_READONLY = &H2 Friend Const PAGE_READWRITE = &H4 Friend
以下代码随手写的 并没有大量测试 效率也有待提升 如果需要C#的请自行转换 Function SplitBytes(Data As Byte(), Delimiter As Byte()) As List(Of Byte()) Dim i = 0 Dim List As New List(Of Byte()) Dim bytes As New
Imports System.Data.SqlClient Public Class Form1 REM Public conn1 As SqlConnection = New SqlConnection("server=.; Integrated Security=False;Initial Catalog= mydatabase1; User ID= sa;password")