平时在公司开发windows桌面端的工具软件给内部使用,就直接将生成的Debug文件夹或者Release文件夹发给同事用了,对方只要双击exe就能运行就没考虑打包成安装程序这个事情。最近有个项目需要我做个上位机软件给客户使用,这个时候就不能再直接发个debug文件夹了,需要考虑打包安装和卸载,要正式一些。

简单研究了一下,发现了一个很方便的能将release文件打包成setup.exe的一个软件:Inno Setup 。下面我把打包方法 和 使用步骤分享出来。


一、先准备好你的项目文件

我以我的项目作为示例,用C# Winform架构开发的桌面端软件,项目具体架构如下:

需要的

直接编译后取文件(最简单,零额外操作)

这是最直接的方式,不用走任何发布向导:

右键项目 → 选择 生成(U)(或者「重新生成(E)」)

    等编译完成后,右键项目 → 选择 在文件资源管理器中打开文件夹(X)

      进入目录 bin\Debug 或 bin\Release(看你当前的配置)

        里面的所有文件(包括 TransMaster.exe 和所有 .dll、.config)就是你的运行文件了

          把整个文件夹复制出来,或者直接用这个文件夹交给 Inno Setup 打包

            💡 建议:切换到 Release 模式再编译,这样生成的文件是优化过的,体积更小、运行更快。


            二、安装 Inno Setup

            官网下载地址:Inno Setup Downloads

              (如果无法访问,或者找不到软件包的话,也可以从如下链接获取:下载链接)

              下载最新版的 Inno Setup(完全免费,无广告)

                双击安装,一路默认下一步即可


                  三、用向导快速生成安装包(新手推荐)

                  打开 Inno Setup → 会自动弹出「新建脚本向导」

                    这里直接给你两个选项的区别和推荐选择👇

                    选「Create a new script file using the Script Wizard」

                    也就是「使用脚本向导创建新脚本文件」:它会一步一步引导你设置:应用名称、版本、主程序文件、快捷方式、安装路径等

                    这一步是向导的欢迎界面,直接点击右下角的 Next(下一步) 就可以继续,不用勾选下面的「Create a new empty script file」选项。

                    步骤1:应用信息

                      这里帮自己实际的项目来填:

                      Application name(应用名称) 把默认的 My Program 改成你的程序名: TransMaster(或者你项目的正式名称,比如「万能传输上位机」也可以)

                        Application version(应用版本) 可以填 1.0.0,或者你当前的版本号,比如 1.0 也可以。

                          Application publisher(发布者/公司) 可以填你的名字、公司名,也可以随便填一个,比如 个人开发 或者 N公司,不影响打包。

                            Application website(应用网址) 直接清空,或者填个占位的网址 https://www.example.com/ 就行,不影响功能。

                              填好之后,直接点右下角的 Next

                              步骤2:选择软件默认安装位置

                                各选项说明

                                选项

                                你的当前设置

                                作用说明

                                Application destination base folder

                                Program Files folder

                                程序将默认安装到 C:\Program Files\ 下,这是 Windows 软件的标准安装位置

                                Application folder name

                                TransMaster

                                安装目录的文件夹名,最终路径会是 C:\Program Files\TransMaster\,和你的程序名保持一致,很规范

                                Allow user to change the application folder

                                ✅ 已勾选

                                允许用户在安装过程中自定义安装路径(比如装到 D 盘),这是推荐开启的选项

                                The application doesn't need a folder

                                ❌ 未勾选

                                不建议勾选,你的程序有很多依赖文件,必须放在独立文件夹里,否则会和系统文件混在一起


                                补充:如果以后你想把程序默认装到其他位置(比如 D:\Program Files),也可以在这里改,但一般不用动,保持默认就好。

                                直接点 Next 进入下一步

                                步骤3:文件配置

                                  这一步是最关键的文件配置环节

                                  1. 先替换主程序文件

                                  现在的路径是 Inno Setup 自带的示例程序,你需要换成你自己的 exe:

                                  点击右边的 Browse... 按钮

                                    找到你项目编译后的文件夹:D:\工作文件夹\上位机\bin\Release

                                      选中你的主程序:TransMaster.exe,点击「打开」

                                        ✅ 下面的 Allow user to start the application after Setup has finished 建议保持勾选,这样用户安装完成后可以直接运行程序。


                                        2. 添加所有依赖文件

                                        你的程序还有很多 .dll、.config 等依赖文件,必须全部加进去,否则安装后会报错:

                                        点击右边的 Add folder... 按钮

                                          同样选择你的 bin\Release 整个文件夹

                                            弹出的确认框里直接点「确定」,这样文件夹里的所有文件和子文件夹都会被添加进来

                                              ⚠️ 注意:不要只加主程序 exe,否则安装后运行会提示“找不到依赖文件”。


                                              3. 检查列表

                                              添加完成后,中间的列表里会显示你所有的文件,确认主程序 NIO_TransMaster.exe 和所有 DLL 都在里面,然后点击 Next 继续下一步。


                                              提示:如果你的程序还有其他配置文件、资源文件(比如蓝牙/串口相关的配置),也都要确保在这个 Release 文件夹里,这样添加文件夹的时候会一起打包进去。

                                              步骤4:程序关联特定格式的文件后缀

                                                这里可以直接取消勾选「Associate a file type to the main executable」,然后点「Next」就行


                                                选项说明

                                                这个功能是给你的程序关联特定格式的文件后缀(比如 .myp),让用户双击这类文件时自动用你的程序打开。

                                                  上位机程序一般不需要这种文件关联,所以直接关掉就好,不用填下面的名字和后缀。


                                                    接下来继续点「Next」

                                                    步骤5:安装卸载设置

                                                      这一步默认设置已经很合理了,直接保持现状点 Next 也是可以的


                                                      选项解析

                                                      选项

                                                      你的设置

                                                      说明

                                                      Create a shortcut to the main executable in the Start Menu Programs folder

                                                      ✅ 已勾选

                                                      会在开始菜单里创建程序快捷方式,用户可以在开始菜单找到你的软件

                                                      Application Start Menu folder name

                                                      NIO_TransMaster

                                                      开始菜单里的文件夹名,和你的程序名保持一致,很规范

                                                      Allow user to change the Start Menu folder name

                                                      ✅ 已勾选

                                                      允许用户安装时自定义开始菜单文件夹名,推荐保留

                                                      Create an Uninstall shortcut in the Start Menu folder

                                                      ❌ 未勾选

                                                      建议勾选,这样用户可以直接在开始菜单里找到卸载入口,更方便

                                                      Allow user to create a desktop shortcut

                                                      ✅ 已勾选

                                                      安装时会让用户选择是否创建桌面快捷方式,很人性化


                                                      建议: 可以把 Create an Uninstall shortcut in the Start Menu folder 也勾选上,这样用户卸载会更方便,也更符合常规软件的使用习惯。

                                                      (先取消勾选创建快捷方式,然后勾选创建卸载方式,再重新勾选创建快捷方式即可)

                                                      调整好之后,直接点 Next 继续

                                                      步骤6:安装模式

                                                        直接保持默认点 Next 就行✅


                                                        选项说明

                                                        选项

                                                        你的当前设置

                                                        作用说明

                                                        Administrative install mode (install for all users)

                                                        ✅ 已选中

                                                        安装到 C:\Program Files,所有用户都能使用,是最标准的软件安装方式,需要管理员权限,推荐保留

                                                        Non administrative install mode (install for current user only)

                                                        ❌ 未选中

                                                        只安装到当前用户目录,不需要管理员权限,但其他用户无法使用,不推荐上位机程序用

                                                        Allow user to override... / Ask the user to choose...

                                                        ❌ 未勾选

                                                        这些是给高级场景用的,普通软件不用开启,保持默认即可


                                                        补充说明:

                                                        上位机程序可能会读写串口、蓝牙设备,管理员安装模式下权限更完整,不容易出现权限不足导致的异常。

                                                          保持当前设置,继续点「Next」,马上就要到最后一步了!

                                                            步骤7:导入注册表

                                                              这一步直接保持默认设置,不填任何注册表文件,点 Next 继续就可以了


                                                              选项说明

                                                              这个页面是用来导入 .reg 注册表文件的,如果你的上位机程序不需要修改注册表:

                                                              Windows registry file (.reg) to import:留空即可,不用导入任何注册表文件

                                                                下面的几个选项:Delete keys which are empty on uninstall、Delete values on uninstall 这些是卸载时的清理规则,保持默认勾选就行,不影响打包流程。


                                                                  继续点 Next

                                                                  步骤8:语言设置

                                                                    这里建议勾选 English 和 Chinese (Simplified)(简体中文)两种语言,这样安装包可以自动适配系统语言,国内用户用起来也更方便。


                                                                    操作步骤

                                                                    向下滚动列表,找到 Chinese (Simplified) 选项并勾选它

                                                                      保持 English 勾选(默认选中的,不用改)

                                                                        其他语言不用勾选,直接点击 Next 继续

                                                                          这样生成的安装包,在中文系统里会自动显示中文界面,在英文系统里会显示英文界面,体验更友好。

                                                                          如果没有简体中文选项,着急完成打包流程的话,直接只勾选English,点Next往后走就可以,英文安装界面完全不影响程序的安装、运行和卸载,国内用户也能正常操作。

                                                                          步骤9:安装包的输出配置

                                                                            这一步是设置安装包的输出配置,把每个选项的建议填法说清楚👇


                                                                            1. Custom compiler output folder(安装包输出文件夹)

                                                                            点击右边的 Browse...,选一个你能找到的文件夹,比如 D:\Setup\Output,打包好的安装包会生成在这里。

                                                                            2. Compiler output base file name(安装包文件名)

                                                                            把默认的 mysetup 改成你的程序名,比如: NIO_TransMaster_Setup 这样生成的安装包就是 NIO_TransMaster_Setup.exe,方便识别。

                                                                            3. Custom Setup icon file(安装包图标)

                                                                            如果之前给你的 NIO_TransMaster.exe 改了图标,这里可以直接用同一个 .ico 文件,这样安装包本身也会带上自定义图标;如果没有准备图标,留空也可以。

                                                                            4. Setup password(安装密码)

                                                                            普通软件不需要设置安装密码,直接留空即可,也不用勾选下面的加密选项。


                                                                            设置好之后,直接点 Next,再点 Finish,然后点工具栏的「运行」按钮,就会开始编译安装包啦!

                                                                            编译完成后,去你设置的输出文件夹里,就能找到最终的安装包文件了。

                                                                            步骤10:安装页面风格

                                                                              这里保持默认设置直接点 Next 就可以了


                                                                              这三个选项的作用

                                                                              选项

                                                                              推荐值

                                                                              说明

                                                                              Wizard style

                                                                              modern

                                                                              现代风格的安装向导界面,是最常用、最符合Windows软件体验的样式

                                                                              第二个下拉框

                                                                              dynamic

                                                                              动态布局,会根据窗口大小自动适配,体验更好

                                                                              第三个下拉框

                                                                              default

                                                                              默认的颜色/主题方案,保持默认即可

                                                                              步骤11:宏定义选项

                                                                                直接保持当前勾选的选项,点 Next 就可以了


                                                                                选项说明

                                                                                勾选 Yes, use #define compiler directives 是推荐做法,它会在脚本里生成一些宏定义,比如 AppName、AppVersion 等,后续手动修改脚本时会更方便,不用到处硬编码。

                                                                                  对于新手来说,开启这个选项没有任何负面影响,反而能让脚本更清晰、更好维护。


                                                                                    步骤12:确认编译打包

                                                                                      直接点击弹窗里的 是(Y) 就可以开始编译啦✅


                                                                                      优先点击是(Y):

                                                                                      好处:把编写好的脚本文件(.iss)保存到你自定义的位置,后续想要修改安装包配置(比如改版本、换图标、增删文件)时,可以直接打开这个脚本重新编译,不用从头走向导重新设置。

                                                                                        后续操作:点击后会弹出保存窗口,选一个好找的文件夹命名保存即可。

                                                                                          如果只是临时一次性打包、之后不会再修改配置,也可以点否(N),程序会默认把编译产物放到「我的文档」文件夹,但不保存脚本源文件。

                                                                                          更多推荐