I have googled quite a bit and I cannot find the answer. So how many characters can be stored in a Windows Installer property value. If you give an answer can you provide the source of the answer?
views:
289answers:
4The MSDN documentation isn't very clear on this, but it does provide some hints. For example, this article mentions that property values may be written to the registry, which means that registry value limitations apply: http://msdn.microsoft.com/en-us/library/aa372432%28VS.85%29.aspx
Here is an article detailing registry value limitations: http://support.microsoft.com/kb/256986
So at a maximum, I'd use the registry value limitations as a guide (and still try to stay well below that).
MSI is just a database, Properties are stored in the Property
table which consists of two columns; Property
and Value
The Value
column is of the Text
type, which according to MSI.CHM is not validated. By that logic, there is no restriction on the number of characters in a property. I would expect that you can think of it in terms of bytes, or kilobytes (or greater) rather than in terms of characters.
A property name can be 72 characters long and there is no limit to the size of a property value.
I got this by editing my MSI using InstallShield and checking the field size of the Property table. (Exporting the table give the following header>
Property Value ISComments
s72 L0 S255
I asked the Windows Installer team how large a Property could be when marshalling data from an immediate CustomAction to a deferred CustomAction and I was told that I was only really limited by the amount of memory on the machine.