【问题标题】:What's the easiest way to install 100s of files in a Visual Studio setup project在 Visual Studio 安装项目中安装 100 个文件的最简单方法是什么
【发布时间】:2010-10-04 16:16:01
【问题描述】:

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

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

我知道我可以制作一个安装项目,然后将R文件一个一个添加,但是添加所有600个文件会很繁琐!

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

【问题讨论】:

    标签: visual-studio r setup-project


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        【解决方案3】:

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

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

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

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

        【讨论】:

        • 我不能推荐这个解决方案。无法跟踪更改,也无法一次删除所有文件。在重新添加更改的文件之前,您需要花费数小时手动删除每个文件。
        【解决方案4】:

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

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

        <Content Include="myfile" /> 
        

        【讨论】:

          【解决方案5】:

          我认为 Badjer 是最重要的。

          如果您的 600 个文件是项目的一部分,并且每个文件的“构建操作”都设置为内容,您可以通过以下方式简单地添加所有这些:

          1. 进入设置项目
          2. 选择添加 > 项目输出
          3. 从下拉列表中选择文件所属的项目
          4. 从下面的列表中选择“内容文件”选项
          5. 点击确定。

          您可以通过转到安装项目的查看 > 文件系统并检查内容文件输出是否已添加到正确的文件夹来检查文件是否将添加到适当的位置。

          文件将添加到安装目录中,其层次结构与它们在其所属项目中指定的层次结构相同。

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2011-01-03
            • 2012-09-09
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多