我有一个标准的c#应用程序,它充当“R”统计引擎的GUI前端。 “R”由大约50个不同文件夹中的大约600个文件组成,可以通过xcopy部署在计算机上“安装”。
我想将R引擎和我的c#gui打包成一个setup.exe,这样用户就不需要先安装R然后单独安装我的c#应用程序。
我知道我可以制作一个安装项目,然后逐个添加R文件,但添加所有600个文件将非常繁琐!
有没有更简单的方法来做我想要的事情?我可以添加单个R文件夹并自动添加子文件夹和文件以保存我逐个添加它们吗?或者也许在我的安装项目中执行解压缩程序,它将一次解压R引擎?
答案 0 :(得分:3)
您只需将Windows资源管理器中的文件夹拖放到Installer vdproj的文件系统视图中即可。层次结构中的所有文件和文件夹都将添加到您的安装项目中。
提示:如果文件夹是SVN或类似的源代码控制,请在执行此操作之前删除所有隐藏文件夹!如果您有PowerShell,请查看
get-childitem . -include _svn -force -recurse | foreach ($_) {remove-item -recurse -force $_.fullname}
或者您始终可以使用Windows搜索查找层次结构中的所有隐藏目录,并从结果窗口中删除它们。
答案 1 :(得分:2)
我认为Badjer大部分都在那里。
如果您的600个文件是项目的一部分,并且每个文件的“构建操作”都设置为内容,您可以通过以下方式添加所有这些:
您可以通过转到View>检查文件是否会添加到适当的位置。安装项目上的文件系统,并检查内容文件输出是否正在添加到正确的文件夹中。
这些文件将添加到安装目录中,与他们所属的项目中指定的层次结构相同。
答案 2 :(得分:1)
查看项目文件。我相信是基于文本的。您可以使用一些copy-paste-replace直接插入文件路径。
答案 3 :(得分:1)
我无法弄清楚项目文件,所以我最终做的是压缩我想要部署的所有文件,将zip文件添加到应用程序并创建一个自定义安装程序类来解压缩它们(使用CSharp ziplib)
答案 4 :(得分:1)
您可以尝试的一件事是将R文件添加为C#项目中的内容 - 然后安装项目可以为您复制它们(确保您配置安装文件以从项目中复制内容文件,而不仅仅是主要输出)。
您可以手动将R文件夹添加到项目中,也可以设置脚本来修改.csproj文件(它只是一个XML文件) - 内容项由这些节点表示:
<Content Include="myfile" />