VS2015打包部署exe安装包详细流程及可能的报错

前言

最近用C#写了个项目,但是在打包安装部署的时候出现了很多问题,虽安装步骤很熟悉了,但很多细节其实不清楚,我最后是打包成的EXE文件,现在写下流程和我遇到的各种问题及解决方法,希望能给大家提供些参考

步骤

首先点击VS2015,右键以管理员身份运行,打开你的程序,之后会讲为什么要用管理员身份

点击文件→新建→项目

vite打包axios报错_vite打包axios报错


点击其他项目类型→安装和部署→选中InstallShield→添加到解决方案,(如果没找到InstallShield Limited Edition project,需要去下载)

vite打包axios报错_VS安装部署_02


现在看到的就是这个打包界面了。并且右侧解决方案管理器里面多了个setup1项目文件,点开可以看到一堆东西。 点击Application Information。输入公司名称,安装包的名称,版本,公司的网址信息,填写完后点击左侧的General Information

vite打包axios报错_Installer_03


把语言改成中文简体,并选择管理员权限为Yes

vite打包axios报错_Installer_04


接下来这个地方要注意了,如果想让用户可以更改安装的路径,点击INSTADIR最后面那个按钮

vite打包axios报错_vite打包axios报错_05


点击第一行右键→New Directory,改个名字,假如你改的名字是“安装程序”,那么你最后比如选择了安装在D盘根目录下,那么你打开D盘就能看到这个名字叫“安装程序”的文件,里面存着你的程序。这里有一个小坑就是,如果数据库是SQLserver LocalDB这种需要一起打包安装的,最后不要安装在C盘的programfile(x86)里面,这里面的东西是只读不能写的,本人就是遇到了这个问题,导致安装的程序凡是涉及到数据库的write的功能都不能使用,并且程序报错提示你数据库是read_only的。

vite打包axios报错_C#_06


点击右侧的setup1项目文件下的第三个project assistant,回到最初始界面,点击Installation Requirements

上面是问你,你的软件需不需要什么特定的操作系统,一般选NO,因为用户即使用了其他操作系统导致程序不能正常运行,那用户也必不可能有错,错的必然是我们程序员

下面是问你,你的程序需不需要安装什么框架之类的,选NO,之后我们会把所有需要的东西下下来一起打包给用户。

vite打包axios报错_Installer_07


重点来了,点击Application Files→选中这个文件夹(就是刚刚自己取的名字那个文件嘛),右键NewFolder

改个名字比如“程序”。

vite打包axios报错_C#_08


选中程序文件夹→Add Folders,把你程序所在文件里面的 bin 下的release文件选进来,一般来说只要这一个文件就行了。再选中“程序”文件→Add project Output→选中主输出,这一步很重要!!!!!。

数据库文件的存放位置很重要,如果安装好的程序发现凡是涉及到数据库的操作都不能正常进行的时候,显示“基础提供程序在 Open 上失败”,不能在某个路径下找到对应的数据库文件,就可能是数据库文件的存放位置不对。(之前遇到这个问题百度说我的Entity Framwork的版本之类的不对,搞了好久没搞出来)。

vite打包axios报错_vite打包axios报错_09


点击Application Shortcuts→选中exe文件→选中是否创建快捷方式,更改图标等

vite打包axios报错_C#_10


点击Installation Interview,2选中是否需要用户输入公司名字和用户名(感觉没太大用)3选中是否让用户可以改安装位置,点Yes

vite打包axios报错_VS安装部署_11

接下来要把需要的框架啊,数据库啊一起打包:点击Redistributables,选中需要一起打包的东西,一定一定选正确的版本,右键下载下来,这一部分就是必须要VS以管理员权限打开的才行。

vite打包axios报错_VS安装部署_12


点击解决方案→右键属性→配置属性→把安装文件配置设置为SingleImage→确定

vite打包axios报错_C#_13


点击Release→SingleImage→Setup.exe→选中需要管理员权限→选中Extract From Setup.exe

vite打包axios报错_VS_14


接下来重新生成解决方案,如果报错5002,找到setup文件对应的文件,将setup.isproj里面的<Configuration>Debug</Configuration>改为<Configuration>Release</Configuration>就好了

如果报错1501,该dll引用文件只是一个临时文件,在打开项目时,Visual Studio会使用它并保持打开状态。它不是开发的一部分,因此只需要在回到application file从releas文件夹下对应列表中删除它即可。

如果报错1014,说不能rename之类的,说明你的某个文件夹被你打开了,关闭就是

接下来你可以在你的文件setup→Express→SingleImage→DisImages→
DISK1路径下看到一个setup的安装程序,点击这个就可以安装了

如果你用的是SqlServer local DB 。安装完后报错说什么数据库的什么版本是多少,你现在的版本是多少导致不能用,并且你发现有些人的电脑上能运行,有些人的电脑上报错,并且有时候说可能是数据库实例有问题找不到怎么连接你的数据库,那原因可能如下:

开发者电脑Windows系统上可能已经有SqlServer 2016local DB,你以为你安装了SqlServer 2012 localDB,并且以为使用的一直是2012,你还傻乎乎的将2012一并打包到安装包,你可以试试在官网下一个2016版本的,再试试打开你的软件

最后

如果这篇博客,有什么不对或我理解有误的地方还请大家一定指出