【问题标题】:How to deploy a C# (ClickOnce?) project that is a wrapper on a command line .exe如何在命令行 .exe 上部署作为包装器的 C#(ClickOnce?)项目
【发布时间】:2020-02-18 14:45:20
【问题描述】:

我有一个 C# 项目,它基本上是一个 GUI,用于使用命令行参数调用其他可执行文件。 (命令行exe实际上是用cygwin构建的,使用cugwin DLL)。

所以一旦应用程序部署(通过 setup.exe 或其他)需要存在的目录结构是这样的:

install dir --->   MyApp.exe
                   MyApp.config
                   (dir) bin   ---> cmd1.exe
                                    cmd2.exe
                                    cygwin.dll

现在这应该很简单,但是无论我尝试什么,当我使用 setup.exe 在第二台机器上安装时,我都无法复制 bin 目录及其内容。我试过: - 将它们添加为资源 - 将“构建操作”设置为内容 - 将“复制到输出目录”设置为始终

但是当我这样做时,bin 目录从未被复制过。我已经尝试在这里和其他地方搜索,但我仍然不知所措。

这应该是一个“ClickOnce”项目吗? (这甚至意味着什么 - 还有 ClickTwice 和 ClickUntilYouCanClickNoMore 项目 - 好吧,对不起......)

我是否还可以获取 setup.exe 以将此应用程序放置在 C://Program Files/MyOrg/Myapp 之类的正常位置,而不是隐藏在用户个人资料中的某个位置?

(使用 VS 2019。)

【问题讨论】:

  • “bin”是否有可能是保留文件夹,因此不会被复制?您是否尝试过其他“文件夹名”? ClickOnce 允许您将安装的目录复制到用户喜欢的任何位置。更多信息在这里:docs.microsoft.com/en-us/visualstudio/deployment/…
  • 感谢您的快速响应。也许。我会检查。我需要包含“bin”及其所有文件,还是仅包含文件?如果我包含某个文件,它会自动复制到同一路径中,从而创建结构吗?这是如何工作的?
  • 当你标记要复制的文件时,它的文件夹结构也应该被复制。

标签: c# visual-studio deployment


【解决方案1】:

由于我无法在评论中添加图片,所以我在此处添加它们。这是我的文件夹结构的样子。

我有一个 .p12 文件并将其标记为“复制到输出目录”到“始终复制”

当项目构建时,文件被复制到 bin 文件夹中,文件的文件夹结构也包括“keystore”文件夹。

出于好奇,我刚刚尝试将我的文件夹“keystore”重命名为“bin”(我必须删除现有的 bin 文件夹),然后将 .p12 文件添加到其中。项目编译,生成新的 exe 文件,还复制了具有适当文件夹结构的 .p12 文件。我不确定构建和生成 Setup.exe 意味着什么。您可以尝试让我们知道它是否适合您。

【讨论】:

  • 谢谢 - 我明天试试这个然后回复你。看起来很有帮助。
  • 好的,经过一些试验,我做到了。谢谢!
【解决方案2】:

要将指定文件打包成ClickOnce,只需将其添加到Application Files...即可。

以下是文件夹结构。

然后确认已添加到Application Files...。

最后一步,发布它。你可以像这样访问图像。

private void button1_Click(object sender, EventArgs e)
{
    pictureBox1.Image = Image.FromFile(AppDomain.CurrentDomain.BaseDirectory + @"/img/a.jpg");
}

至于put this app somewhere sane,恐怕答案是否定的。

ClickOnce 的安装路径无法更改。你可以在C:\Users\username\AppData\Local\Apps\2.0找到它。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-06-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-04-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多