【问题标题】:Publishing winforms app发布 winform 应用
【发布时间】:2023-03-24 01:13:01
【问题描述】:

我已经创建了 winforms 程序,现在我想发布(构建?部署?)它。到目前为止,我使用 ClickOnce 发布并安装了它,结果如下: 除了其他文件夹中的可执行文件(可以是资源、bin 或其他)之外,是否可以拥有所有这些文件?简单地将文件移动到那里会引发错误,因为我认为可执行文件无法访问它们,因为未定义新路径。到目前为止,我的想法是要么创建一个简单的 .exe 快捷方式,要么创建新的可执行文件来运行将在其他文件夹中的主 .exe,但这并不是我想要的。

我正在使用 Visual Studio 2015 社区。我还遇到了一个名为 Install Shield 的程序,它允许我创建自定义设置,但我找不到任何关于我的问题的信息。

编辑。这就是我使用 ClickOnce 文件发布的样子:

【问题讨论】:

  • 这是你的构建目录吗? ClickOnce 发布目录没有这么杂乱。
  • 是的,这正是我从 ClickOnce 得到的。
  • 您的意思是您单击了主项目属性页面的“发布”标签页上的“立即发布”按钮,这就是转储到标有“发布位置”的目录的内容?或者你的意思是你做了一个构建,然后查看你的项目目录的“bin/Release”或“bin/Debug”子目录,这就是你看到的?
  • 我弄错了,第一张图片显示了使用 ClickOnce 制作的安装文件后我的文件夹的样子。第二张图片供参考。
  • ClickOnce 应用程序并非真正设计为从安装目录运行。如果用户从网络或开始菜单运行它,他/她将看不到任何这些。

标签: c# winforms clickonce publishing


【解决方案1】:

是的,您可以使用 ClickOnce 在子文件夹中包含 dll,但您不能只是移动文件。这是因为 ClickOnce 应用程序使用描述部署的每个文件的 .manifest 文件。如果清单与部署目录不匹配,那么 ClickOnce 就会崩溃。这是一个安全问题。

我不知道通过 Visual Studio 的发布界面自动执行此操作的任何方法,但在构建应用程序后,请查看 Mage.exe 和 MageUI.exe 工具,以便您可以编辑清单以将文件包含在子文件夹中.

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-01-17
    • 2019-07-12
    • 1970-01-01
    • 1970-01-01
    • 2011-02-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多