我需要一个解决方案,希望它应该相当简单 - 更新 MSI 属性。我们有许多在 TFS 2012 中进行源代码控制的 WiX 项目,并且我们生成其相关的 MSI,以便通过 TeamCity 构建配置进行部署,这些配置通常会构建所需的 *.wixproj 文件。
更新 TFS/Visual Studio 中的 MSI 属性根本不是一个选项,因为我们需要将更改限制在 TeamCity 中,而这取决于我们整个持续集成和部署流程当前的设置方式。
因此,我希望实现的是一个解决方案,我可以在创建所需的 MSI 属性后运行脚本或命令来更新它。我欢迎使用 Powershell、Perl、VBScript、Windows Batch 脚本等中的任何脚本或命令的解决方案,因为这将设置为最终的 TeamCity 构建步骤来修改创建的 MSI。
谢谢。
您可以使用msiinfo.exe
(它是 Windows SDK 的一部分)用于读取/添加/更新 msi 属性。
C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Bin\MsiInfo.Exe>msiinfo.exe /?
MsiInfo V 5.0
Copyright (c) Microsoft Corporation. All Rights Reserved
++MsiInfo.exe Command Line Syntax++
MsiInfo.exe {database} --> To Display Summary Info Properties
MsiInfo.exe {database} Options.... --> To Set Summary Info Properties
++MsiInfo.exe Options++
PID_DICTIONARY - /I {value}
PID_CODEPAGE - /C {value}
PID_TITLE - /T {value}
PID_SUBJECT - /J {value}
PID_AUTHOR - /A {value}
PID_KEYWORDS - /K {value}
PID_COMMENTS - /O {value}
PID_TEMPLATE - /P {value}
PID_LASTAUTHOR - /L {value}
PID_REVNUMBER - /V {value}
PID_EDITTIME - /E {value}
PID_LASTPRINTED - /S {value}
PID_CREATE_DTM - /R {value}
PID_LASTSAVE_DTM - /Q {value}
PID_PAGECOUNT - /G {value}
PID_WORDCOUNT - /W {value}
PID_CHARCOUNT - /H {value}
PID_THUMBNAIL - NOT SUPPORTED
PID_APPNAME - /N {value}
PID_SECURITY - /U {value}
Validate String Pool - [/B] /D (use /B to display the string pool)
/? - Displays this help message
/nologo - Do not display the logo message
例如,您可以按如下方式设置作者和主题属性:
msiinfo.exe my.msi /A "Your name" /J "This is a demo"
请注意,您不能使用msiinfo.exe my.msi /I
读取单个属性,因为它将尝试更新属性(有效地清除值)。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)