如何在Visual Studio安装项目中最简单地安装数百个文件?

3
我有一个标准的C#应用程序,作为“R”统计引擎的GUI前端。 "R"包含大约600个文件,分布在大约50个不同的文件夹中,并可以通过xcopy部署在计算机上进行“安装”。
我想将R引擎和我的C# GUI打包成一个setup.exe,这样用户就不需要先安装R,然后再单独安装我的C#应用程序。
我知道我可以制作一个设置项目,然后逐个添加R文件,但是添加所有600个文件将非常繁琐!
有没有更简单的方法可以做到我想要的?我可以添加单个R文件夹并自动添加子文件夹和文件以节省逐一添加它们的时间吗?或者在我的设置项目中执行解压缩过程,以便一次性解压缩R引擎?
5个回答

3
您可以将文件夹直接拖放到Installer vdproj的文件系统视图中。整个层次结构中的所有文件和文件夹都将添加到您的安装程序项目中。
提示:如果这些文件夹在SVN或类似的源代码控制下,请在执行此操作之前删除所有隐藏文件夹!如果您有PowerShell,请查看。
get-childitem . -include _svn -force -recurse | foreach ($_) {remove-item -recurse -force $_.fullname}

或者您可以使用Windows搜索来查找层次结构中的所有隐藏目录,并从结果窗口中删除它们。


我不能推荐这个解决方案。它无法跟踪更改,也没有一次性删除所有文件的方法。你需要手动删除每个文件,花费一个小时才能重新添加更改后的文件。 - Georg W.

2

我无法解决项目文件的问题,最终我做的是将所有想要部署的文件压缩成一个zip文件,将其添加到应用程序中,并创建一个自定义的Installer类来解压它们(使用CSharp ziplib)。


2
我认为Badjer已经完成了大部分工作。
如果您的600个文件是项目的一部分,并且每个文件的“生成操作”都设置为内容,那么您可以通过以下简单步骤添加所有这些文件:
1. 转到设置项目。 2. 选择添加 > 项目输出。 3. 从下拉列表中选择文件所属的项目。 4. 从下面的列表中选择“内容文件”选项。 5. 单击“确定”。
您可以通过转到设置项目上的“查看 > 文件系统”,并检查内容文件输出是否被添加到正确的文件夹中,来确认文件将被添加到适当的位置。
这些文件将按照它们在所属项目中指定的层次结构添加到安装目录中。

1

请查看项目文件。我相信它是基于文本的。您可以尝试使用一些复制-粘贴-替换操作直接在其中插入文件路径。


1
你可以尝试的一件事是将R文件作为C#项目的内容添加进去,然后安装程序就可以为您复制它们(确保您配置了安装文件,以便从您的项目中复制内容文件,而不仅仅是主输出)。
您可以手动将R文件夹添加到项目中,也可以设置脚本修改.csproj文件(它只是一个XML文件)-内容项由这些节点表示:
<Content Include="myfile" /> 

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接