7

我已经google了很多,我找不到答案。那么在一个 Windows Installer 属性值中可以存储多少个字符。如果你给出答案,你能提供答案的来源吗?

4

5 回答 5

9

我问 Windows Installer 团队,在将数据从即时的 CustomAction 编组到延迟的 CustomAction 时,Property 可以有多大,我被告知我只是受到机器上内存量的限制。

于 2008-11-22T02:33:26.797 回答
3

属性名称的长度可以是 72 个字符,并且对属性值的大小没有限制。

我通过使用 InstallShield 编辑我的 MSI 并检查属性表的字段大小来得到这个。(导出表格给出以下标题>

Property    Value   ISComments
s72      L0          S255
于 2008-11-13T02:17:51.127 回答
2

MSI 只是一个数据库,属性存储在Property由两列组成的表中;PropertyValue

Value列属于Text根据 MSI.CHM 未验证的类型。按照这种逻辑,属性中的字符数没有限制。我希望您可以用字节或千字节(或更大)而不是字符来考虑它。

于 2008-11-13T01:40:51.937 回答
2

MSDN 文档对此不是很清楚,但确实提供了一些提示。例如,本文提到可以将属性值写入注册表,这意味着注册表值限制适用:http: //msdn.microsoft.com/en-us/library/aa372432%28VS.85%29.aspx

这是一篇详细介绍注册表值限制的文章:http: //support.microsoft.com/kb/256986

因此,我最多会使用注册表值限制作为指导(并且仍然尽量保持低于该值)。

于 2008-11-12T22:20:37.550 回答
0

如果您正在编写 InstallScript,请注意,虽然 MSI 属性可以设置为任意长度,但有一个技巧可以获取“长”值。参考:字符串太长,MsiGetProperty 和 Installshield Installscript

于 2015-08-25T22:27:23.113 回答