小编Ver*_*min的帖子

强制TFS2010工作流程构建为FAIL而不是PARTIALLY SUCCEED

我目前有一个自定义工作流活动,在成功编译解决方案后运行外部进程,如果外部进程失败,则返回ExitCode <> 0.一旦我知道进程失败,我想将构建状态设置为FAIL(正如您将看到的那样,代码是否未编译)所以我添加了一个SetBuildProperties活动,它将Status属性设置为BuildStatus.Failed但这似乎只是导致在构建完成时提供Partially Succeeded构建.

我已经尝试将构建的编译状态设置为在我的自定义活动中失败,这导致了失败的构建,但我真的不想这样做,因为它在解决方案编译时会产生误导.

谁能告诉我如何强制构建失败?(最好不必将编译状态设置为失败!)

谢谢

workflow build tfs2010

9
推荐指数
1
解决办法
2515
查看次数

Wix - 在未安装.Net框架时启动浏览器到.Net框架下载URL

我有一个安装程序,它是从安装项目创建的,并使用MSBuild使用此处找到的方法构建.虽然我设置了生成.msi文件的构建过程,但我没有自己设置项目.安装项目的启动条件之一是检查.Net框架版本4,如果它未安装在目标计算机上,则会向用户显示一个消息框,询问他们是否要访问URL以下载.Net框架安装文件.如果用户在消息框中选择"是",则启动浏览器并加载URL.尼斯.安装项目还会检查我们的产品需要的另一个先决条件,并执行相同的操作.

我目前正在使用Wix重写安装程序,到目前为止,我已经能够解决一些小问题(请记住,我仍处于安装程序的早期阶段).我已经能够重新创建.Net Framework v4.0和其他必备软件的检查.我还能够显示消息框,询问用户是否要使用自定义wix操作启动浏览器到URL以下载其他必备软件.

问题

想要像旧安装程序那样为.Net Framework做同样的事情,我写了另一个自定义操作来启动浏览器到.Net框架下载URL.我编译了自定义操作和安装程序,并从我的测试机器中删除了.Net框架.我在我的测试机器上运行安装程序并且自定义操作不起作用,这是因为.Net Framework不再安装在测试机器上!

问题

有没有办法重新创建原始安装项目能够检查.Net框架的方式,向用户显示一个消息框,然后如果用户选择这样做,则启动浏览器到下载URL?我已经能够确定是否未安装框架,只需要一种方法来显示消息框,如果用户选择并阻止安装程序继续,则启动浏览器到特定的URL.

要么

有没有办法在没有安装.Net框架的机器上运行自定义操作?(我猜这个问题的答案是否定的!)

一如既往,先谢谢

.net wix

7
推荐指数
1
解决办法
3310
查看次数

在单独的构建过程中检查文件后,是否可以绕过Gated Check-In构建?TFS 2010

我为解决方案设置了2个构建定义,1是每晚触发的每晚构建,另一个是门控签入构建,当开发人员尝试检查源控件中的新更改时将触发该构建.每晚构建使用自定义模板,该模板使用从Ewald Hoffman方法略微修改的方法来增加装配版本.当通过自定义活动签入文件以检查文件时,我得到构建错误:

您的签入无法完成,因为它会影响以下选通的构建定义\ Project\GatedBuld.要完成签入,您需要对shelveset Gated_2011-11-08_09.31.42.6934; DOMAIN\TFSBuildAccount的构建进行排队.

目前我还没有找到绕过这个门控签到版本的方法(使用*NO_CI*检查评论来阻止CI版本).

我已经尝试为构建服务帐户设置"覆盖签入验证的构建"权限(通过门控构建的安全性),但据我所知,这只会在手动检查代码时阻止门控构建(通过"门禁登记"对话框中显示的复选框).我正在寻找的是一种在自动检查更改时绕过门控构建的方法

有什么建议?

一如既往,感谢任何提前帮助

msbuild tfs2010

7
推荐指数
1
解决办法
2292
查看次数

使用Powershell更改DCOM配置安全设置

我被赋予了编写Powershell脚本以从头开始设置服务器以作为Web应用程序的一部分运行我们的服务的任务,并且设置此服务器所需的步骤之一是更改已安装服务的DCOM配置,特别是将帐户添加到"启动和激活"/"访问"权限,并在添加这些帐户后设置这些帐户的权限.

是否有使用Powershell的方法?我无法找到一种具体的方法来实现我的目标,所以任何帮助都会很棒

powershell dcom

7
推荐指数
2
解决办法
4万
查看次数

Wix - 安装然后运行powershell脚本

我知道Wix和PowerShell脚本上有几篇帖子,但在尝试了这些帖子的解决方案之后,我仍然没有得到我想要的结果.为了解释我的情况,我创建了一个Wix安装项目,它将从我的本地机器(运行Windows 7)中获取2个Powershell脚本和一个msu文件,并将它们捆绑到一个msi文件中.如果我在测试虚拟机上运行msi文件(运行Windows Server 2008 r2),文件将被复制到指定的目录中.大.在"添加/删除程序"列表中显示新项目有一个缺点,但这将是我将在以后处理的内容.

(Powershell脚本将安装msu,编辑配置文件并启动服务 - 手动运行时工作正常)

将文件复制到目标计算机后我尝试做的就是运行一个复制的Powershell脚本,但到目前为止我还没能实现这一点.

我的.wxs代码看起来像这样(使用TFS 2010编写和编译)

<?xml version="1.0" encoding="UTF-8"?>
    <Wix xmlns="http://schemas.microsoft.com/wix/2006/wi" xmlns:util="http://schemas.microsoft.com/wix/UtilExtension">
    <Product Id="a89cc681-d617-43ea-817e-1db89b941bf2" Name="Test1" Language="1033" Version="1.0.0.0" Manufacturer="Test1" UpgradeCode="d8db2663-2567-4bb8-9023-09988838eb55">
    <Package InstallerVersion="200" Compressed="yes" />

<Media Id="1" Cabinet="media1.cab" EmbedCab="yes" />

<!-- Set up the directory -->
<Directory Id="TARGETDIR" Name="SourceDir">
  <Directory Id="IISTIERINSTALLATION" Name="IISTierInstallation">
  </Directory>
</Directory>

<!-- Copy the files -->
<DirectoryRef Id="IISTIERINSTALLATION">
    <Component Id ="C2WTS_update_file" Guid="11960C39-12EB-4777-B43F-394ADB352DD3">
      <File Id="C2WTSmsu" Name="Windows6.1-KB974405-x64.msu" Source="C:\PS Scripts\Windows6.1-KB974405-x64.msu" />
    </Component>

    <Component Id ="C2WTSInstallScript" Guid="C85ED4DB-BDC1-4DD1-84FE-41D7463C6365">
      <File Id="C2WTSscript1" Name="C2WTS_service_install.ps1" Source="C:\PS Scripts\C2WTS_service_install.ps1" />
    </Component>

    <Component Id ="C2WTSxmlScript" Guid="AF1F85A7-88F7-4BBA-89D9-6817CFAA74F9"> …
Run Code Online (Sandbox Code Playgroud)

powershell wix

6
推荐指数
1
解决办法
8734
查看次数

可以将单个TFS 2010构建定义用于多个分支吗?

我负责管理我们产品的构建,并且已经被要求提出一种定制现有构建定义的方法,以便在需要时构建不同的分支.

此产品的构建过程已经有多个自定义步骤和操作,并且产品中包含大量项目文件,因此无法为每个创建的新分支设置新的构建定义.

构建定义设置为从Main分支构建.目的是输入一个特定的分支(使用可在构建排队时输入的工作流参数),然后构建该分支而不是默认的Main分支,而无需编辑构建定义.

我有一个单独的测试程序,用于测试我的所有自定义构建活动和过程.在此构建定义的工作流程中,我添加了一些用于记录目的的构建消息,以便我可以查看构建过程中使用的变量的值.

我还基于这个测试程序创建了一个分支,准备测试可用于构建多个分支的构建定义

首先,我从原始分支运行原始测试解决方案的项目文件的构建,然后更改构建定义,以便使用新分支完成相同的操作并运行另一个构建.比较两个分支之间的构建日志时,它们之间只有一些细微差别.(记录详细程度设置为诊断)

第一个区别 - 我查看了Workspace变量,构建的Folders属性引用了它们各自的分支,特别是Folders属性的ServerItem属性

第二个区别 - 正在构建的项目文件(BuildSettings.ProjectsToBuild)来自各自的分支机构

我没有看到除这些之外的2个构建日志之间的任何其他差异

这里的主要问题是:

是否有一种标准方法来交换为单个构建定义构建的分支?

如果没有,是否可以在排队构建时将自定义工作流模板中的默认主分支(在Workspace和BuildSettings.ProjectsToBuild中)的所有引用更改为输入的分支?

一如既往,提前感谢任何和所有的帮助

msbuild build tfs2010

6
推荐指数
1
解决办法
3757
查看次数

标签 统计

tfs2010 ×3

build ×2

msbuild ×2

powershell ×2

wix ×2

.net ×1

dcom ×1

workflow ×1