【问题标题】:Copy/install application to Program Files automatically when it is first run首次运行时自动将应用程序复制/安装到 Program Files
【发布时间】:2013-03-14 06:18:38
【问题描述】:

第一次执行应用程序时,我希望将这个正在运行的应用程序复制到 C:\Program Files\

假设我把这个应用程序给了我的朋友,然后他第一次执行它,这个应用程序必须复制到 C:\Program Files\

如何编码?

【问题讨论】:

  • 如果您的应用程序在受限用户帐户上运行怎么办?顺便说一句,只需使用IO.File.Copy()
  • 您将没有必要的权限来访问 Program Files 文件夹。您必须创建一个安装程序,或者按照 PM 的建议为您的应用程序使用 ClickOnce 部署。
  • 忘记 C:\program 文件是桌面

标签: c# .net winforms


【解决方案1】:

您正在尝试创建 Click Once 类型的应用程序。检查链接Click Once Deplyment

【讨论】:

  • 谢谢@JeremyThompson。但是如果 user2166628 准备根据他最近的评论更改位置。然后它会很有用。
  • +1 显示了一些体育精神 :) ps 我删除了我之前的评论,但我在回答中投入了 2 美分。
【解决方案2】:

您不能在执行时移动 EXE 文件,您可以:

  • 拥有将 EXE 复制到另一个位置的代码

IO.File.Copy()

  • 或有安装程序

Click Once 安装到真正的obsecure location,而不是程序文件。它不需要管理员。

如果您将 MSI setup project 添加到您的解决方案中,您可以在 C:\Program Files\ 中看到此 answer to hardcode the install path

如果您选择 MSI 解决方案,您将需要管理员来安装。因为 setup.exe 负责下载/安装组件(例如 dotnet),所以它需要 Admin 才能执行。

如果您知道要安装您的应用程序的 PC 已经具有 .Net Framework 等,那么避免 UAC 提示的最简单方法是运行 MSI 而不是 setup.exe。运行 MSI 不会要求管理员。

你也可以按照这个答案来制作你的upgrades install to the same folder

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2010-11-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-04-08
    • 2010-10-19
    • 2012-09-10
    相关资源
    最近更新 更多