You could reduce the executable a bit by using a format string like "{0} must be less than or equal to " + UInt16.MaxValue (note that WiX style recommends using true name in these use cases) and passing the field name (i.e. Major, Minor, etc.). The compiler only has to pool one string then. Declare as "static readonly" - constant strings should rarely be "const" which forces re-allocation for each use.