一些简单的过程就不详细写了,就写一些可能会遇到的问题。
我使用的是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(需先手动确认卸载)

Setup Factory打包教程整合相关推荐

  1. Setup Factory 打包工具部分功能代码解

    Setup Factory 打包工具部分功能代码解 Application.Exit 退出安装程序,并返回一个可选的返回代码.Application.GetInstallLanguage 返回一个包含 ...

  2. Setup Factory打包注册dll

    1.生成一个Setup Factory工程,按照向导生成即可 2.添加dll到工程中 3.判断原有文件夹下是否有该文件,如果有删除.在On Pre Install中添加代码,改代码是通过Add Act ...

  3. setup factory打包工具的使用

    setup factory 优点:支持大于2G的安装包打包(Inno Setup,NSIS不支持). 缺点:原来的界面控件不能在基础上修改,只能自定义custom的对话框,但是脚本都需要自己编写,比较 ...

  4. setup factory 打包VB 工程

    setup factory 使用起来很简单 你可以如下: 1.你把你刚编译出来的exe和相关的资源文件复制到某一空目录下.把exe文件添加到setup factory里之后,在列表里右键,属性里面可以 ...

  5. Setup Factory打包时实现第三方DLL文件的注册

    Setup Factory中的如下界面: 红色矩形中的仅仅是用来测试该文件是否是能注册的组件或ocx控件,在安装包安装过程中并不会注册该组件,如需注册,必须按下面步骤进行: 1: 先将需要注册的组件所 ...

  6. 用Setup Factory打包Visual C++ 2008开发的程序心得总结

    1:按文件的依赖顺序将文件添加到set Factory中,注意:必须按依赖顺序       添加文件,否则组件注册会不成功. 2:然后按照博文http://blog.163.com/danshimin ...

  7. Inno setup 打包教程

    inno setup 是较常用且简单的软件打包工具. 1.安装并打开 inno setup 软件 ① 运行环境 系统:Windows 7 软件:inno setup 5.5.5 ② 安装 inno s ...

  8. 程序打包(安装包制作,Inno setup打包教程,QT程序打包)

    一.简介 本文主要讲述如何将QT程序打包成安装包,提供给其他人使用.(打包其他程序同理) 二.准备阶段: 2.1 下载并安装打包工具 Inno setup中文版 密码:id09 2.2 将QT程序DL ...

  9. 关于setup factory的一些基本操作

    最近需要进行程序打包,发现setup factory是个比较好用的软件,有详细的API文档可以查阅,整理了一下在打包过程中用到的基本操作跟大家分享: 1.注册表基本操作(读.写),为了解决程序重复安装 ...

  10. inno setup详细使用教程

    inno setup详细使用教程 前段时间我完成了几个软件的汉化,想把它们打包起来,可是苦于我是一个很菜的鸟,很笨的瓜,只好上网找关于安装程序制作的文章.不幸我没能找到:-( 没法只好自己去华军软件园 ...

最新文章

  1. 传百度要与阿里、腾讯争夺在线办公市场?“百度Hi”开放520人同时在线音视频会议
  2. 吊打 ThreadLocal!
  3. 综述:AI系统安全的实用方法介绍
  4. ContentType大全
  5. SAMBA的一些特殊设置
  6. TestNG并行测试
  7. 计算机系统的搭建步骤,电脑搭建Node.js开发环境的操作教程[多图]
  8. APACHE-TOMCAT集群环境部署
  9. Codeforces Round #359 (Div. 2) D. Kay and Snowflake
  10. ES5中新增的Array方法详细说明
  11. JPA分页查询与条件分页查询
  12. 操作mysql_MySQL学习笔记之基础操作
  13. 开课吧Java课堂:多线程如何同步?消息如何传递?
  14. 中南大学 科学计算与MATLAB语言 矩阵的特征值与特征向量
  15. 电脑出现的问题以及解决方法
  16. 从离职之日起,一年内仲裁
  17. java项目类型---java新手
  18. IPHONE手机知识大全(中)
  19. 花仙里云课堂知识付费v1.2.25知识付费 教育 直播
  20. 乌班图利用指令修改桌面分辨率

热门文章

  1. Ubantu16.04+CUDA10.0安装mmaction以及提取UCF101的frame和optical flow
  2. 湘西州2021年高考成绩查询,2021年湘西高考状元名单公布,湘西文理科状元是谁多少分...
  3. android 连接魅族调试,魅族Flyme手机无法连接电脑ADB调试
  4. java中solr的面试题_SOlR面试题
  5. 这五大基础原理,总是牛逼的无话可说
  6. DSP CCS软件仿真
  7. OSDev——GCC交叉编译器
  8. java程序的入口点_Java程序的入口点
  9. Origin 使用笔记
  10. 三国演义 制作词云 2------python