gpt4 book ai didi

wix - 以编程方式更新 MSI 属性

转载 作者:行者123 更新时间:2023-12-04 21:48:54 24 4
gpt4 key购买 nike

我需要一个应该相当简单的解决方案 - 更新 MSI 属性。我们有许多在 TFS 2012 中受源代码控制的 WiX 项目,我们通过 TeamCity 构建配置生成它们的相关 MSI 以进行部署,这些配置通常构建所需的 *.wixproj 文件。

在 TFS/Visual Studio 中更新 MSI 属性根本不是一个可行的选择,因为我们需要将更改限制在 TeamCity 中,因为我们整个持续集成和部署过程目前是如何设置的。

因此,我希望实现的是一个解决方案,在该解决方案中,我可以运行脚本或命令来在创建所需的 MSI 属性后对其进行更新。我欢迎使用来自 Powershell、Perl、VBScript、Windows 批处理脚本等的任何脚本或命令的解决方案,因为这将被设置为修改创建的 MSI 的最终 TeamCity 构建步骤。

谢谢。

最佳答案

您可以使用 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

例如,您可以按如下方式设置 Author 和 Subject 属性:

msiinfo.exe my.msi /A "Your name" /J "This is a demo"

Be aware that you cannot use msiinfo.exe my.msi /I to read single properties, as it will try to update the property instead (effectively clearing the value).

关于wix - 以编程方式更新 MSI 属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27981901/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com