c# - 自定义 ClickOnce 安装路径
问题描述
有没有办法将 ClickOnce 客户端安装文件夹设置为静态的,例如“...\%User%\Appdata\Local\%MyProgram%?
详细信息:
我正在使用 ClickOnce 分发 Intranet 应用程序。一切正常,应用程序按应有的方式安装和更新。我遇到的一个问题是应用程序中的一个模块将文件从一个文件夹移动到另一个文件夹。最终用户安装了趋势科技,每次模块运行时,应用程序都会遭到攻击和隔离。我让 IT 部门将应用程序列入白名单,但由于“...\AppData\Local\Apps\2.0...”下方的随机安装路径,以及趋势科技无法处理“.”。在 2.0 中,他们不得不将“\Local\Apps\”文件夹下的可执行文件列入白名单,这让他们感到不舒服。有没有办法将 ClickOnce 安装文件夹更改为“...
解决方案
简单的回答:不,您不能更改该路径,它是沙盒的关键部分,是 ClickOnce 的一项功能。即使使用 ClickOnce 清单的自定义操作和重新签名,您也无法更改该路径(这是 ClickOnce 允许您在计算机上安装多个已发布实例的方式之一,即使它们是相同的版本)。
我建议在打包之前(即作为您的发布构建过程的一部分),您使用来自 Verisign 或类似的代码签名证书对您的二进制文件进行签名 - 防病毒产品通常使用它作为是否可以信任某些东西的指标。如果这无法解决问题,请查看是否可以根据文件名而不是文件路径将白名单列入白名单。
推荐阅读
- amazon-ec2 - 使用路由 53 创建 RDS cloudformation
- python - ConvergenceWarning:随机优化器:达到最大迭代次数且优化尚未收敛
- ruby-on-rails - Rubocop - 控制器应该是应用控制器的子类
- google-cloud-platform - 无法访问 GCloud 服务的管理页面
- file - 如何在vue js中将文件作为字节码传递给服务器端?
- javascript - 如何用数据对表格进行排序
- android-fragments - YouTubePlayerSupportFragment:一段时间后出现“播放时出现问题”错误
- c++ - 使用 STL 的部分模板特化
- spring-boot - 使用 docker 时,如何在 Eureka Client 中保持 Eureka 服务器 url 动态?
- r - R - 通过缺少值的 Dataframe 逐列循环 lm()