2016-05-06 53 views
1

我创建了winforms程序,现在我想发布(build?deploy?)它。到目前为止,我用ClickOnce发布了它并安装了它,结果如下:enter image description here 是否有可能将所有这些文件除了其他文件夹中的可执行文件(可以是Resources,bin或其他)?在那里简单地移动文件会引发错误,因为我相信可执行文件无法访问它们,因为未定义新路径。到目前为止,我的想法是为.exe创建一个简单的快捷方式,或者创建一个新的可执行文件来运行将在其他文件夹中的主要.exe文件,但那不是我正在寻找的。发布winforms应用程序

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

编辑。这是我用ClickOnce文件发布的样子: enter image description here

+0

这是你的建立目录吗? 'ClickOnce'发布目录不是这么混乱。 – adv12

+0

是的,这正是我从ClickOnce获得的。 – JanRad

+0

你的意思是你在主项目的Properties页面的“Publish”标签页上点击了“Publish Now”按钮,这就是被转储到标签为“Publishing Location”的目录的原因吗?或者你的意思是你做了一个构建,然后在项目目录的“bin/Release”或“bin/Debug”子目录中查看,这就是你所看到的? – adv12

回答

1

是的,你可以在ClickOnce的子文件夹中有dll,但是你不能移动文件。这是因为ClickOnce应用程序使用描述部署的每个文件的.manifest文件。如果清单与部署目录不匹配,ClickOnce将会吓倒。这是一个安全问题。

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