首页 > 解决方案 > 如何在命令行 .exe 上部署作为包装器的 C#(ClickOnce?)项目

问题描述

我有一个 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。)

标签: c#visual-studiodeployment

解决方案


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

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

在此处输入图像描述

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

在此处输入图像描述

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

在此处输入图像描述


推荐阅读