打包的文件可以在C盘写入+C# WInForm项目打包为exe文件

第一部分:使得打包的文件可以在C盘写入

内容来源:添加/删除/读写c盘文件——c# - vv彭 - 博客园 (cnblogs.com)

一、前言:

  有时候我们为自己的程序添加配置文件,如tet、ini、xml等文件,又或者保存软件运行时的日志

  当我们把软件打包后,默认安装在c盘,而配置文件也会跟随生成在安装目录下

  此时你会发现,配置文件无法生成/修改

  这是因为操作c盘文件需要管理员身份

二、写入C盘方法:

有两种方法可以达到目的,一种是修改安装后的软件属性,另一种是修改打包前的程序属性

  (一)方法一:修改安装后的软件属性

  步骤:1.右键需要运行的exe文件选择属性

                  2.选择兼容性目录栏

     3.勾选以管理员身份运行此软件

                4.点击“应用”,“确定”

注:此方法操作简单,不用重新打包,对只有一次安装该软件比较友好,但如果需要多次安装,就显得很繁琐,每安装一次都要去修改一次,发行给别人不推荐 ;

  (二)方法二:在项目中配置管理员权限(相关步骤进行完后,记得生成一下解决方案哦

(1)来到相关的解决方案,右键选中需要提升权级的项目——>属性——>安全性——>勾选启动ClickOnce安全设置选项。

相关项目的“Properties”会出现app.manifest配置。

(2)双击打开Properties下的app.manifest文件,按照按照注释把requestedExecutionLevel 节点的 level="asInvoker"替换成level="requireAdministrator" 即可。

  其中权限解析如下:

  • asInvoker 当前权限,可以理解为只有一般用户的权限;
  • requireAdministrator  管理员权限,如果运行此程序的账户没有管理员权限则直接不运行;
  • highestAvailable 用户所能拿到的最高权限,如果用户不是管理员也会运行。

下图是修改后的截图:

             

(3)将之前勾选的ClickOnce取消掉:右键项目——>属性——>安全性——>取消勾选启动ClickOnce安全设置选项。如果不取消,会报错误:“ClickOnce 不支持请求执行级别“requireAdministrator”“

  

(4)注意,生成一下解决方案和项目。

  第二部分:如何将C# WInform打包为exe让User在本地运行     

第一步:下载扩展Microsoft Visual Studio Installer Projects


1.工具=>扩展和更新=>扩展 => 管理扩展
            2.搜索框输入:Microsoft Visual Studio Installer Projects

3.点击下载,然后按着指示安装(此图是已经下载安装完成)

第二步:右击选中项目的解决方案 => 添加 => 新建项目

选中“Setup Project”,点击“确定”

第三步:项目创建成功之后,添加文件


1.右击Application Folder(应用程序文件夹) => Add => 文件

把你需要打包的项目下 => bin => Debug文件夹下的所有文件一个一个添加到Application Folder(应用程序文件夹)中(注:项目不同文件多少不一致,全部添加)

勾选的文件被显示到右侧。(我需要打包的项目里的文件全部添加后如下)

注:文件夹的话虽然在添加的时候有勾选,但是实际未能成功添加到里面。建议在程式里运用如下Code去判断bin下是否有相关(如BackUp)文件夹,如果没有则创建。

            if (!System.IO.Directory.Exists(AppDomain.CurrentDomain.SetupInformation.ApplicationBase + @"\BackUp"))
            {
                System.IO.Directory.CreateDirectory(AppDomain.CurrentDomain.SetupInformation.ApplicationBase + @"\BackUp");
            }
2.添加卸载程序 (C:\Windows\System32)msiexec.exe

右击Application Folder(应用程序文件夹) => Add => 文件 =>把msiexec.exe文件添加到Application Folder(应用程序文件夹)

添加后如下

右击msiexec.exe文件 => 点击Create Shortcut to msiexec.exe

得到以下文件

点击Setup1(您建的项目)将ProductCode 属性的值复制

点击Shortcut to msiexec.exe => 将复制的ProductCode 属性值 粘贴在Arguments 属性中,然后在最前面加上 /X (注:/X后有一个空格)

.最后将卸载拖动到User‘s Programs Menu(用户的程序菜单,即将快捷方式添加到开始面板中)

(注:如果不需要在开始面板中放,可以不用生成相关快捷方式;或依旧将快捷方式放在Application Folder文件夹不迁移位置,也是可以的。)
在这里插入图片描述

3.选择项目=>主输出 => 点击确定

得到以下文件

将主输出文件拖到User’s Desktop(用户的桌面)中,这样可以形成桌面快捷方式的形式。

(注:如果不想生成桌面快捷方式,就不用将其拖拽到“User's Desktop”中,还保留在"Application Folder"中也是可以的)
在这里插入图片描述

第四步,更改框架

(注:该步骤只是为了修改采用的框架,如果选用本机默认框架的话,请跳过本步骤,到第五步,

1.右击Setup1(您建的项目)=> 属性

(注:该步骤只是为了修改采用的框架,如果选用本机默认框架的话,请跳过本步骤)
在这里插入图片描述


2.点击Prerequisites…

(注:该步骤只是为了修改采用的框架,如果选用本机默认框架的话,请跳过本步骤)
在这里插入图片描述

3.选择如下选项 => 确定

(注:该步骤只是为了修改采用的框架,如果选用本机默认框架的话,请跳过本步骤)

在这里插入图片描述

第五步:右击Setup1(您建的项目)=> 生成
在这里插入图片描述


第六步:在项目中多了Setup1=>Debug=>setup.exe即可安装exe并运行

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值