【问题标题】:Running devenv against a .vdproj at the command line doesn't produce an MSI在命令行对 .vdproj 运行 devenv 不会产生 MSI
【发布时间】:2010-05-21 06:31:22
【问题描述】:

我想在命令提示符下使用devenv 命令从.vdproj 文件生成MSI 文件。此命令运行良好,但未生成 MSI 文件。怎么了?

我应该在环境变量中设置什么,或者有没有其他方法可以从.vdproj 文件生成 MSI?

【问题讨论】:

    标签: c# visual-studio c#-3.0 vdproj


    【解决方案1】:

    这通常(根据我的经验!)是由于没有针对正确的构建配置造成的。在 Visual Studio 中,在解决方案级别,您可以转到Build 菜单并选择Configuration Manager。确保对于所有适用的配置(通过Active Solution Configuration 下拉菜单选择),安装程序项目在Build 列中有一个勾号。

    现在您需要确保在调用 devenv 时传递了适当的构建配置(即为安装项目勾选了 Build 的配置),如下所示:

    C:\PathToVisualStudio\devenv.exe /Rebuild Release C:\PathToProject\ProjectName.sln" /Out "PathToProject\vs_errors.txt"
    

    (在本例中,Release 是我的目标构建配置)

    此命令还将 Visual Studio 的输出记录到与您的解决方案位于同一文件夹中的名为 vs_errors.txt 的文本文件中,因此您可以查看此文件以确定是否有任何其他原因导致安装项目无法构建。

    【讨论】:

      【解决方案2】:

      上面的脚本对我有用,试试看,如果它对你有用,请告诉我。你几乎可以有任何配置。我用过Release|x86。只需用您的配置替换该行,它应该可以工作。确保您使用的任何配置都存在于.sln 文件或.csproj 文件中,否则您可能会收到一些关于无效配置的错误。希望这会有所帮助。

      <target name="BuildMsi">
          <echo message="Creating installables (.msi) for MyTestApplication, please wait..."/>    
          <exec program="c:\program files\Microsoft Visual Studio 9.0\Common7\IDE\devenv.exe">
              <arg value="c:\My app\My_Test_solution.sln"/>
              <arg value="/build"/>
              <arg value="Release|x86" />
              <arg value="/project"/>
              <arg value="c:\My app\setup\My_Test_solution.vdproj"/>
          </exec>
      </target>
      

      【讨论】:

        【解决方案3】:

        我的情况也是如此,使用 /project 给项目名称有助于生成 .msi 文件,

        devenv /build Release /project SDK-Deployment SDK-Deployment.vdproj
        

        【讨论】:

        • 应该把结尾写成/project SDK-Deployment\SDK-Deployment.vdproj吗?
        【解决方案4】:

        我认为 msi 不会从 devenv.com 生成,您可以选择 wix 和 nant 来创建安装程序。

        Nant 有一个任务,msi task,但它需要 micrsoft cabinet sdk,无法下载。

        阅读本文了解更多详情Build merge module without Devenv from .vdproj

        附言如果您找到另一种构建安装程序的方法,请分享。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2015-03-22
          • 1970-01-01
          • 1970-01-01
          • 2017-10-30
          • 1970-01-01
          相关资源
          最近更新 更多