繁体   English   中英

如何部署 C#(ClickOnce?)项目,它是命令行 .exe 上的包装器

[英]How to deploy a C# (ClickOnce?) project that is a wrapper on a command line .exe

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

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

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

在此处输入图片说明

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

在此处输入图片说明

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

在此处输入图片说明

要将指定的文件打包到 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找到它。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM