SetupFactory简单制作安装包流程

article/2025/10/10 10:23:09
最近让我给项目做安装包,小白一个,开始找各种安装包打包工具。有的简单,但是功能差点意思,有的功能很强大,但是略复杂而且有的还收费。就发现SetupFactory(安装工厂),这个工具还挺好用,操作简洁,功能还算不错。废话不多说,直接上流程。首先给一个SetupFactory9.0.3.0中文版的资源http://download.csdn.net/detail/lannister666/9623922首先创建一个新的项目,然后根据向导填写相关信息。

这里写图片描述
这里选择安装程序支持的语言,默认为英文,这里我修改成了简体中文。

完成向导后,主界面中会导入你工程中所有要打包的文件,若你需要创建应用程序的快捷方式,选中你要创建的应用程序,右键——>文件属性——>快捷方式。

这里写图片描述

在这里可以选择你需要快捷方式出现的位置,属性中描述属性的内容是创建快捷方式后,快捷方式的命名(不能含有非法字符/ \ : * ? “ < > |)。图标栏可以为快捷方式自定义图标。

这里写图片描述

这里介绍两种使用图标的方式:
档案文件:图标文件(.ico)是打包在安装包内的,安装时会一起安装在用户的计算机上。
外部文件:图标文件不打包在安装包内,放置在指定位置进行调用。
这里推荐使用档案文件方式,选择好使用方式后,点击添加文件,加入图标文件,然后选中你所添加的图标文件即可。

若是打包的文件中,包含了不想删除的数据文件之类的,可以在高级选项卡中选择永不删除。

这里写图片描述
这里虽然勾选了永不删除,不过在后面介绍卸载程序部分的时候,有办法在卸载时,询问用户是否卸载用户信息(即永不删除的文件)进行卸载。

在屏幕左侧的安装之前中,可以编辑安装前的一些界面。比如用户协议,磁盘需求等。

这里写图片描述
这里写图片描述

这次任务主要有一个特殊要求,就是在安装之前检测下之前是否安装,若是安装过,提示卸载后,再次安装。而SetupFactory并没有直接的功能,就需要用脚本了。下面介绍一下注册表读写脚本代码首先要创建注册表,点击主界面屏幕左侧屏幕栏中的“安装之后”,找到安装成功屏幕点击编辑,然后选择操作选项卡,然后在On Preload选项卡中编写脚本。

这里写图片描述

--定义变量(文件后缀名、文件类型、ico 文件名、主程序文件名)
dotname=".vy"
filename="VYExam"
iconame="\\\\VYExamico"
exename=\\\\VYExamSysdotext = Registry.DoesKeyExist(HKEY_CLASSES_ROOT, dotname);
if(dotext) then
else
Registry.CreateKey(HKEY_CLASSES_ROOT, dotname);
end
filext = Registry.DoesKeyExist(HKEY_CLASSES_ROOT, filename);
if(filext) then
else
Registry.CreateKey(HKEY_CLASSES_ROOT, filename);
Registry.CreateKey(HKEY_CLASSES_ROOT, filename.."\\DefaultIcon");
Registry.CreateKey(HKEY_CLASSES_ROOT, filename.."\\shell");
Registry.CreateKey(HKEY_CLASSES_ROOT, filename.."\\shell\\open");
Registry.CreateKey(HKEY_CLASSES_ROOT,filename.."\\shell\\open\\command");
EndRegistry.SetValue(HKEY_CLASSES_ROOT,dotname, "", filename, REG_SZ);
--注册文件类型
result = SessionVar.Expand("%AppFolder%");
--将安装路径展开
Registry.SetValue(HKEY_CLASSES_ROOT, filename, "", filename, REG_SZ);
Registry.SetValue(HKEY_CLASSES_ROOT, filename, "BrowserFlags",00000008, REG_DWORD);
Registry.SetValue(HKEY_CLASSES_ROOT, filename, "EditFlags", 00000000,REG_DWORD);
Registry.SetValue(HKEY_CLASSES_ROOT, filename.."\\DefaultIcon", "",result..iconame..".ico,0", REG_SZ);
Registry.SetValue(HKEY_CLASSES_ROOT, filename.."\\shell", "", "Open",REG_SZ);
Registry.SetValue(HKEY_CLASSES_ROOT, filename.."\\shell\\open", "", "打开", REG_SZ);
--ico 图标指定(.. 为字符串连接符)
Registry.SetValue(HKEY_CLASSES_ROOT,filename.."\\shell\\open\\command", "", "\""..result..exename..".exe\"%1", REG_SZ);
--exe 程序指定--创建软件注册表项
--检测子项集是否存在softname=SessionVar.Expand("%ProductName%");
--这里注册表的路径可以修改的。
Reg_soft="Software\\\\huiyi\\\\"..softname;result = Registry.DoesKeyExist(HKEY_LOCAL_MACHINE, "Software\\huiyi");
if (result) then
else
Registry.CreateKey(HKEY_LOCAL_MACHINE, "Software\\huiyi");
end
--创建本程序注册表项
Appfile=SessionVar.Expand("%AppFolder%");
Registry.CreateKey(HKEY_LOCAL_MACHINE, Reg_soft);
Registry.SetValue(HKEY_LOCAL_MACHINE, Reg_soft, "InstallPath", Appfile,1);
Uninfile=SessionVar.Expand("%AppFolder%\\Uninstall\\uninstall.exe \"/U:%AppFolder%\\Uninstall\\uninstall.xml\"");
Registry.SetValue(HKEY_LOCAL_MACHINE, Reg_soft, "Uninstaller",Uninfile, 1);
Version=SessionVar.Expand("%ProductVer%");
Registry.SetValue(HKEY_LOCAL_MACHINE, Reg_soft, "Version", Version, 1);
然后安装前读取注册表信息进行检测,点击主界面左侧操作栏中的“关于启动安装”进行脚本编写。

这里写图片描述

softname=SessionVar.Expand("%ProductName%");
Reg_soft="Software\\\\huiyi\\\\"..softname;
version2=SessionVar.Expand("%ProductVer%");
result = Registry.DoesKeyExist(HKEY_LOCAL_MACHINE,Reg_soft);
if (result) thenversion1=Registry.GetValue(HKEY_LOCAL_MACHINE,Reg_soft,"Version",true);if (version1>version2) thenmsgBTN = Dialog.Message(softname,'提示:此机已安装本软件最新版本!\r\n\r\n 点击“确定”,退出本安装程序。',MB_OK,MB_ICONINFORMATION,MB_DEFBUTTON1);if (msgBTN==IDOK) thenApplication.Exit();endelseif (version1==version2) thenmsgBTN = Dialog.Message(softname,'提示:此机已安装本软件,是否重新安装?\r\n\r\n 点击“是”,卸载并安装;点击“否”,退装出安。',MB_YESNO,MB_ICONINFORMATION,MB_DEFBUTTON1);elseif (version1<version2) thenmsgBTN = Dialog.Message(softname,'提示:此机已安装本软件旧版本,是否卸载并安装新版本?\r\n\r\n 点击“是”,卸载并安装;点击“否“,退出安装',MB_YESNO,MB_ICONINFORMATION,MB_DEFBUTTON1);endif (msgBTN == IDYES) thenresult = Registry.GetValue(HKEY_LOCAL_MACHINE,Reg_soft,"Uninstaller",true);File.Run(result,"","",SW_SHOWNORMAL,true);result = Registry.DoesKeyExist(HKEY_LOCAL_MACHINE,Reg_soft);if (result) thenmsgBTN2=Dialog.Message(softname,'卸载未完成!是否继续安装?\r\n\r\n 点击“是”继续安装;点击“否”,退出安装。',MB_YESNO,MB_ICONINFORMATION,MB_DEFBUTTON1);if (msgBTN2==IDYES) thenelseif (msgBTN2==IDNO) thenApplication.Exit();endendelseif(msgBTN==IDNO) thenApplication.Exit();end
else
end

最后卸载部分删除注册表,点击主界面左侧卸载栏中的“屏幕”,点击“After Uninstalling”选项卡,然后选中卸载成功屏幕,点击编辑。然后选择“操作”选项卡,在“On Preload”选项卡中进行编辑脚本。

这里写图片描述

dotname=".vy"
filename="VYExam"
softname=SessionVar.Expand("%ProductName%");
Reg_soft="Software\\\\huiyi\\\\"..softname;
Registry.DeleteKey(HKEY_CLASSES_ROOT, dotname);
Registry.DeleteKey(HKEY_CLASSES_ROOT, filename);
Registry.DeleteKey(HKEY_LOCAL_MACHINE, Reg_soft);
result = Registry.GetKeyNames(HKEY_LOCAL_MACHINE, "Software\\huiyi");
if (result==NIL) then
Registry.DeleteKey(HKEY_LOCAL_MACHINE, "Software\\huiyi");
End

最后,若是需要询问用户是否删除用户信息(即不可删除的文件),可在后面加一段代码。

msgBTN = Dialog.Message(softname,'是否删除用户信息?',MB_YESNO,MB_ICONINFORMATION,MB_DEFBUTTON1)
if (msgBTN == IDYES) then
if (Folder.DoesExist("%AppFolder%")) then
Folder.DeleteTree("%AppFolder%");
end
end

这样不管是不可删除文件,还是运行程序以后生成的文件都会删除。


http://chatgpt.dhexx.cn/article/kL2nuqcI.shtml

相关文章

setuptools的下载安装

setuptools的下载安装 *第一步&#xff0c;登录网址&#xff1a;https://pypi.org/project/setuptools/#files并下载压缩包。 第二步&#xff0c;将下载下来的压缩包解压到桌面。 第三步&#xff0c;按住shift键鼠标右键进入命令行窗口。 第四步&#xff0c;在命令行窗口输入…

使用setup

文章目录 setup函数返回值是一个对象setup函数返回值是一个渲染函数 setup是一个配置项&#xff0c;其值是一个函数。 组件用到的数据、方法等都放在setup这个配置项中。 setup函数的返回值&#xff0c;可以是一个对象&#xff0c;也可以是一个函数&#xff08;且是渲染函数&a…

初始setup

setup setup作为vue3里面的一个配置项&#xff0c;可以在里面写方法&#xff0c;变量&#xff0c;声明周期&#xff0c;计算属性等等 export default {name: setup,// setup作为vue3里面的一个配置项&#xff0c;可以在里面写方法&#xff0c;变量&#xff0c;声明周期&#…

Setup函数

Setup vue 3.0 setup是一个新的组件选项&#xff0c;作为组件中使用组合API的起点。 从组件生命周期来看&#xff0c;它的执行在组件实例创建之前vue2.x的beforeCreate执行。这就意味着在setup函数中this 还不是组件实例&#xff0c;this此时是undefined 在模版中需要使用的数…

setup factory使用方法(转)

推荐使用“Setup Factory ”&#xff0c;它是一个强大的安装程序制作工具。提供了安装制作向导界面&#xff0c;即使你对安装制作不了解&#xff0c;也可以生成专业性质的安装程序。可建立快捷方式&#xff0c;也可直接在Windows 系统的Register加入内容&#xff0c;还能在Win.…

安装包制作工具 SetupFactory 使用详解

Setup Factory是一个强大的安装程序制作工具。提供了安装制作向导界面&#xff0c;即使你对安装制作不了解&#xff0c;也可以生成专业性质的安装程序。可建立快捷方式&#xff0c;也可直接在 Windows 系统的注册表加入内容&#xff0c;还能在 Win.ini 和 System.ini 内加入设定…

1、setup

setup函数的两种返回值 1、若返回一个对象&#xff0c;则对象中的属性&#xff0c;放在&#xff0c;在模板中均可以直接使用&#xff08;重点关注&#xff09; <template><div class"setup"><div>姓名&#xff1a;{{name}}</div><div>…

使用Setup Factory 给应用程序打包

1.这几天闲得慌&#xff0c;突然又想着怎么给生成的exe打包成安装包&#xff0c;好久以前学着用InstallShield打包&#xff0c;学起来还真是麻烦&#xff0c;索性放弃了&#xff0c;这次就直接想找个简单好用的&#xff0c;最后选择了Setup Factory –》这里是Setup Factory v…

Setup Factory安装结束自动启动程序

用Setup Factory制作安装程序时&#xff0c;怎么实现制作出的程序安装时自动运行安装程序里的某个程序或脚本&#xff1f; 例如&#xff1a;现在要使用Setup Factory 制作一个安装程序&#xff0c;安装程序包里有一个exe需要在安装结束时运行它&#xff0c;以便我们把开发出的程…

安装setuptools

使用setuptools安装第三方插件&#xff0c;如何安装setuptools恩。一样的方法。 http://blog.csdn.net/DongGeGe214/article/details/52199439 下载setuptools源码setuptools-25.2.0.tar.gz 地址&#xff1a;https://pypi.python.org/pypi/setuptools 这是一个压缩文件&#x…

教你玩转 Setup factory 7.0

作品做到一定阶段了&#xff0c;也尝试着生成exe文件去运行&#xff0c;可是当我们将exe运行程序移到别的电脑或者其他地方时&#xff0c;就不能正常的运行了。后来想到很多软件都是需要我们安装才能用&#xff0c;所以网上一查&#xff0c;加上同学老师的点拨&#xff0c;我找…

使用Setup Factory如何制作程序安装包

步骤一&#xff1a;自己网上下载Setup Factory工具并安装 可下载地址&#xff08;若时间比较久网站不可用&#xff0c;就自己在网上找一下下载地址&#xff09;&#xff1a;setup factory中文版下载-setup factory汉化版(安装包制作工具)下载v9.5.3 正式版-极限软件园​​​​…

Setup Factory打包教程整合

一些简单的过程就不详细写了&#xff0c;就写一些可能会遇到的问题。 我使用的是Setup Factory 9.0.3.0 汉化版&#xff0c;资源地址&#xff1a; https://download.csdn.net/download/woaishapi/7789171 这个是我参考的打包教程&#xff1a; https://dominick-li.blog.csdn.ne…

安装包制作工具 SetupFactory使用 详解

Setup Factory 是一个强大的安装程序制作工具。提供了安装制作向导界面&#xff0c;即使你对安装制作不了解&#xff0c;也可以生成专业性质的安装程序。可建立快捷方式&#xff0c;也可直接在 Windows 系统的注册表加入内容&#xff0c;还能在 Win.ini 和 System.ini 内加入设…

SetupFactory 制作软件安装包使用详解

文章目录 1.新建工程2.软件信息填写3.选择平台4.源文件夹5.窗口设置6. 主题选择7. 选择语言8. 选择依赖项9 功能选择10 设置主程序文件11 设置属性12. 附加步骤&#xff08;主题修改&#xff09;12.1 页面顺序排列12.2 页面编辑12.3 删除界面12.4 添加界面12.4.1 Welcome to Se…

下载安装setuptools

复制下面这段代码存为python格式&#xff0c;运行&#xff0c;可自动下载 #!/usr/bin/env python""" Setuptools bootstrapping installer.Maintained at https://github.com/pypa/setuptools/tree/bootstrap.Run this script to install or upgrade setuptools…

Setup Factory安装及程序安装包制作教程

阅读前提&#xff1a; 1.已制作好exe之类的可运行文件 一、软件安装 1、下载软件&#xff0c;这里以setup-factory 9.0.3.0.exe为例 下载地址&#xff1a;https://download.csdn.net/download/u010188178/10652645 2、安装该软件 3、汉化&#xff08;如果有这个需要的话&a…

C#程序打包工具SetupFactory入门使用

SetupFactory是一款能够用于工程向导、自定义对话框、生成MD5序列化以及两百多个功能函数的脚步编辑器、授权支持等等众多的特性。总体来说使用起来比较简单&#xff0c;在这里俺就介绍一下如何打包C#项目&#xff0c;至于其他使用如果有时间后续俺会再介绍的。 在这里俺使用的…

安装包制作工具 SetupFactory 详解

安装包制作工具 SetupFactory 详解 转载自&#xff1a;https://www.cnblogs.com/lidabo/p/9809757.html Setup Factory 是一个强大的安装程序制作工具。提供了安装制作向导界面&#xff0c;即使你对安装制作不了解&#xff0c;也可以生成专业性质的安装程序。可建立快捷方式&…