3

我有一个标准的 c# 应用程序,它充当“R”统计引擎的 GUI 前端。“R”由大约 50 个不同文件夹中的大约 600 个文件组成,可以通过 xcopy 部署在机器上“安装”。

我想将 R 引擎和我的 c# gui 打包到一个 setup.exe 中,这样用户就不需要先安装 R,然后再安装我的 c# 应用程序。

我知道我可以制作一个安装项目,然后一个一个地添加 R 文件,但是添加所有 600 个文件将非常乏味!

有没有更简单的方法来做我想做的事?我可以添加单个R文件夹并自动添加子文件夹和文件以节省我将它们一一添加吗?或者也许在我的设置项目中执行一个解压缩过程,这将一次性解压缩 R 引擎?

4

5 回答 5

3

您可以简单地将 Windows 资源管理器中的文件夹拖放到安装程序 vdproj 的文件系统视图中。层次结构中的所有文件和文件夹都将添加到您的设置项目中。

提示:如果文件夹在 SVN 或类似的源代码管理中,请在执行此操作之前删除所有隐藏文件夹!如果您有 PowerShell,请查看

get-childitem . -include _svn -force -recurse | foreach ($_) {remove-item -recurse -force $_.fullname}

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

于 2009-08-03T05:05:08.480 回答
2

我无法计算出项目文件,所以我最后做的是压缩我想要部署的所有文件,将 zip 文件添加到应用程序并创建一个自定义安装程序类来解压缩它们(使用 CSharp ziplib)

于 2009-02-04T15:12:59.503 回答
2

我认为Badjer是其中的大部分。

If your 600 files are part of a project and the "Build action" for each of these is set as content you can add all of these by simply:

  1. Going to the setup project
  2. Selecting Add > Project Output
  3. Selecting the project the files belong to from the drop down
  4. Selecting the "Content Files" option from the list below
  5. Clicking OK.

You can check the files will be added to the appropriate place by going to View > File System on the setup project and checking that the content files output is being added to the correct folder.

The files will be added to the install directory in the same hierarchy as they are specified in the project they belong to.

于 2011-02-10T14:58:54.397 回答
1

看看项目文件。我相信是基于文本的。您可能可以通过一些复制粘贴替换直接在其中插入文件路径。

于 2009-01-31T15:03:43.003 回答
1

您可以尝试的一件事是将 R 文件作为内容添加到 C# 项目中 - 然后安装项目可以为您复制它们(确保您配置安装文件以从项目中复制内容文件,而不仅仅是主要输出) .

您可以手动将 R 文件夹添加到项目中,也可以设置脚本来修改 .csproj 文件(它只是一个 XML 文件) - 内容项由这些节点表示:

<Content Include="myfile" /> 
于 2010-01-29T20:26:49.447 回答