Setup Factory打包教程整合

article/2025/10/10 13:43:29

一些简单的过程就不详细写了,就写一些可能会遇到的问题。
我使用的是Setup Factory 9.0.3.0 汉化版,资源地址:
https://download.csdn.net/download/woaishapi/7789171
这个是我参考的打包教程:
https://dominick-li.blog.csdn.net/article/details/83149751(不是Java应用打包也可以用的,这里面的1、2、4、6可以参考,3和5我在下面用了别的方法,7写错了我下面会写正确的)
http://t.zoukankan.com/lidabo-p-9809757.html(里面有打包过程、设置安装序列号、“到期”属性等)

1.卸载程序

自带的卸载程序uninstall.exe双击会报错,所以自己写一个卸载程序。
在Setup Factory软件左侧列表中点击【操作】-【关于安装之后】,在【On Post Install】里写入以下代码:

Shell.CreateShortcut(SessionVar.Expand("%AppFolder%"), SessionVar.Expand("卸载%ProductName%"), SessionVar.Expand("%AppFolder%\\uninstall.exe"), SessionVar.Expand("%AppFolder%\\uninstall.exe \"/U:%AppFolder%\\Uninstall\\uninstall.xml\""), SessionVar.Expand("%AppFolder%"), SessionVar.Expand("%AppFolder%\\uninstall.exe"), 0, SW_SHOWNORMAL, nil, "");

然后点击【卸载】-【操作】,在【On Post Uninstall】里写入以下代码:

resultF = Folder.DoesExist(SessionVar.Expand("%AppFolder%"));
if (resultF) then
Folder.DeleteTree(SessionVar.Expand("%AppFolder%"),nil);
end

安装发布包后,生成的文件夹中的uninstall.exe还是不起作用的,起作用的是我们上面写的卸载项目名.exe。

2.开机自启动

以下两个方法都自测可用:

1)写入注册表的方式
点击【操作】-【关于安装之后】,在【On Post Install】里写入以下代码:

isExist = Registry.DoesKeyExist(HKEY_LOCAL_MACHINE,"SOFTWARE\\Microsoft\\windows\\CurrentVersion\\Run"); 
-- An if ... else statement that compares two numbers 
if (isExist) then 
-- Do something here 
Registry.SetValue(HKEY_LOCAL_MACHINE,"SOFTWARE\\Microsoft\\windows\\CurrentVersion\\Run","Message", 
SessionVar.Expand("%AppFolder%\\%ProductName%.exe"),REG_SZ); 
else 
-- Do something else here 
Registry.CreateKey(HKEY_LOCAL_MACHINE,"SOFTWARE\\Microsoft\\windows\\CurrentVersion\\Run"); 
Registry.SetValue(HKEY_LOCAL_MACHINE,REG_SZ); 
end 

%ProductName%是要开机自启的应用程序名,如果不是项目名就自己改掉。
卸载的话需要删除注册表,点击【卸载】-【操作】,在【On Post Uninstall】里写入代码,结合上面本身的卸载程序,就变成了:

resultF = Folder.DoesExist(SessionVar.Expand("%AppFolder%"));
if (resultF) then
Registry.DeleteValue(HKEY_LOCAL_MACHINE, "Software\\Microsoft\\Windows\\CurrentVersion\\Run", "Message");
Folder.DeleteTree(SessionVar.Expand("%AppFolder%"),nil);
end

这个注册表可以在\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run找到。

2)快捷方式放入开机自启的文件夹中
WIN10自测可用,右击exe文件选择【文件属性】,在【快捷方式】-【位置】,勾选【自定义】,并填入C:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp。
在这里插入图片描述

3.更换安装目录时补全应用名称

在安装时选择非默认安装目录时,项目名会丢失,所以需要自己进行一些修改。(也就是开始时说的有点问题的教程)
需要在Setup Factory安装目录下找到文件_SUF70_Global_Functions.lua,用记事本打开并找到g_EditFieldFolderBrowse,把这个函数改为如下图所示:
在这里插入图片描述
代码:

-- replace the contents of the edit field with the folder path that was selected
-- tbEditProps.Text = strTargetFolder;
strCCCn = SessionVar.Expand("\\%ProductName%");
tbEditProps.Text = strTargetFolder..strCCCn;
DlgEditField.SetProperties(nIDEditField, tbEditProps);

4.安装新版本并卸载前一版本

https://blog.csdn.net/hejingdong123/article/details/94440905(自动卸载)
https://blog.csdn.net/andr0id/article/details/106861372(需先手动确认卸载)


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

相关文章

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

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

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

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

下载安装setuptools

复制下面这段代码存为python格式,运行,可自动下载 #!/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安装及程序安装包制作教程

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

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

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

安装包制作工具 SetupFactory 详解

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

高等数学学习笔记——第四十八讲——微分方程模型与基本概念

1. 问题引入——方程的出现是算术走向代数的重要标志(代数的任务就是解方程) 如,鸡兔同笼问题,用代数方程来解决就很简单。 2. 微分方程是一种数学模型。 数学建模:用数学的语言和方法,通过对实际问题的抽…

Python小白的数学建模课-09 微分方程模型

1. 微分方程 1.1 基本概念 微分方程是描述系统的状态随时间和空间演化的数学工具。物理中许多涉及变力的运动学、动力学问题,如空气的阻力为速度函数的落体运动等问题,很多可以用微分方程求解。微分方程在化学、工程学、经济学和人口统计等领域也有广泛…

微分方程模型(一)

人口模型: 量化人口增长的趋势 1.Malthus 模型 模型假设: (i)设x(t)表示t时刻的人口数,且x(t)连续可微。 (ii)人口的增长率r 是常数(增长率出生率—死亡率)。 &#…

【数学建模】9 微分方程模型建模方法及实例

目录 1 微分方程2 微分方程解决的主要问题3 微分方程模型4 微分方程解决问题的一般步骤第一步第二步第三步 5 微分方程举例6 经典的微分方程模型7 课后习题 1 微分方程 (1)概念:微分方程是含有函数及其导数的方程,如果方程组只含…

基于SEIR微分方程模型对疫情传播的简单预测

目录 一、模型的建立 传染病模型概念 模型假设 SEIR模型 模型中涉及的函数S(t)、E(t)、I(t)、R(t) 更改后的微分方程 二、模型的求解 三、模型的缺点 祝语 随着疫情的再次爆发,全国疫情防控再次进入紧张状态,疫情预测分析成为数学建模问题中的一个热点问…

【数学建模】14 微分方程模型求解方法

目录 1 MATLAB数值微积分2 微分方程数值解3 MATLAB求解常微分方程4 课后习题 1 MATLAB数值微积分 (1)差分与微分 • taylor 符号泰勒展开 • polyder 多项式求导 • diff 数值差分或符号求导 dx diff(x) %返回向量x的差分• gradient 数值梯度 Fx g…

数学建模-微分方程模型

引用:https://wenku.baidu.com/view/35ea8f8a2dc58bd63186bceb19e8b8f67c1cef82.html?rec_flagdefault&sxts1547780910061 微分方程建模是数学建模的重要方法,因为许多实际问题的数学描述将导致求解微分方程的定解问题。把形形色色的实际问题化成微…

18.微分方程模型

微分方程模型 1.应用matlab求解微分方程模型 2.例题 1) dsolve(Du1u^2,t)2) ydsolve(Dyexp(x),y(0)exp(1),x); ezplot(y,[-10,10])3) ydsolve(D2y4*Dy29*y0,y(0)0,Dy(0)15,x); ezplot(y,[1,4])4) [x,y,z]dsolve(Dx2*x-3*…

数学建模:微分方程模型— Python 求解

目录 例:使用显式欧拉法和四阶龙格库塔法计算Lorenz模型scipy.integrate.odeint 求解微分方程模型scipy.integrate.solve_ivp 求解微分方程模型 使用 Python 求常微分方程的数值求解通常是基于一阶方程进行的,高阶微分方程要化成一阶方程组。 例&#x…

数学建模预测方法之 微分方程模型

微分方程模型 短、中、长期的预测都适合。 反应事物内部规律及其内在关系,但由于方程的建立是以局部规律的独立性假定为基础,当作为长期预测时,误差较大,且微分方程的解比较难以得到。 具体案例 传染病的预测模型、经济增长&a…

常见的微分方程模型(1)

学习了几个常见的微分方程模型,比如传染病模型和经济增长模型 1.传染病模型 已知已感染人数(病人)的比例为 i(t) ,假设每个病人每天的有效接触的人数为,在一块封闭区域内,总人数为N ,健康人的…

微分方程模型的求解方法

微分方程模型的求解方法 在实际问题中经常需要寻求某个变量y随另一变量t的变化规律,yy(t)这个函数关系式常常不能直接求出。然而有时容易建立包含变量及导数在内的关系式,即建立变量能满足的微分方程,从而通过求解微分方程对所研究的问题进行解释说明。…

微分方程模型_天生一对,硬核微分方程与深度学习的「联姻」之路

微分方程真的能结合深度神经网络?真的能用来理解深度神经网络、推导神经网络架构、构建深度生成模型?我们将从鄂维南、董彬和陈天琦等研究者的工作中,窥探微分方程与深度学习联袂前行的路径。 近日,北京智源人工智能研究院开展了第…