<p>I am getting this error now that I hit version number 1.256.0:
Error   4   Invalid product version '1.256.0'. Must be of format '##.##.####'</p>

<p>The installer was fine with 1.255.0 but something with 256 (2^8) it doesn't like.  I found this stated on msdn.com:
The Version property must be formatted as N.N.N, where each N represents at least one and no more than four digits. (<a href="http://msdn.microsoft.com/en-us/library/d3ywkte8(VS.80).aspx" rel="nofollow noreferrer">http://msdn.microsoft.com/en-us/library/d3ywkte8(VS.80).aspx</a>)</p>

<p>Which would make me believe there is nothing wrong 1.256.0 because it meets the rules stated above.</p>

<p>Does anyone have any ideas on why this would be failing now?</p>

[{'answer_id': 59119, 'author': 'jodonnell', 'author_id': 4223, 'author_profile': 'https://Stackoverflow.com/users/4223', 'pm_score': 5, 'selected': True, 'text': '<p>Change it to:</p>\n\n<pre><code>protected static &lt;T extends Comparable&lt;T&gt;&gt; int nullCompare(T o1, T o2) {\n</code></pre>\n\n<p>You need that because Comparable is itself a generic type.</p>\n'}, {'answer_id': 85739, 'author': 'volley', 'author_id': 13905, 'author_profile': 'https://Stackoverflow.com/users/13905', 'pm_score': 3, 'selected': False, 'text': "<p>Here's an odd case:</p>\n\n<pre><code>static class A {\n    ...\n}\n\nstatic class B extends A implements Comparable&lt;A&gt; {\n    public int compareTo(A o) {\n        return ...;\n    }\n}\n</code></pre>\n\n<p>Luckily code like the one above is rare, but nullCompare() will not support comparison of Bs unless it is stated that Comparable may apply to T <em>or any superclass thereof</em>:</p>\n\n<pre><code>protected static &lt;T extends Comparable&lt;? super T&gt;&gt; int nullCompare(T o1, T o2) {\n</code></pre>\n\n<p>Even though most people will never benefit from the above tweak, it may come in handy when designing APIs for exported libraries.</p>\n"}, {'answer_id': 115539, 'author': 'DJClayworth', 'author_id': 19276, 'author_profile': 'https://Stackoverflow.com/users/19276', 'pm_score': 0, 'selected': False, 'text': "<p>I'm not sure that genericizing this method makes sense. Currently the method works on any kind of Comparable; if you genericize it you will have to implement it (with exactly the same code) multiple times. Sometimes it is possible to compare two objects that don't have a common ancestor, and any generic version won't allow this.</p>\n\n<p>By adding generics you won't add any safety to the code; any problems of safety will occur in the call to compareTo. What I would suggest is simply suppressing the warning. It's not really warning you about anything useful.</p>\n"}, {'answer_id': 227885, 'author': 'mjlee', 'author_id': 2829, 'author_profile': 'https://Stackoverflow.com/users/2829', 'pm_score': 2, 'selected': False, 'text': '<p>Cannot edit so I have to post my answer.</p>\n\n<p>You need to declare nested type parameter since Comparable is generic.</p>\n\n<pre><code>protected static &lt;T extends Comparable&lt;? super T&gt;&gt; int nullCompare(T o1, T o2) {\n</code></pre>\n\n<p>Please note that <strong>Comparable&lt; ? super T ></strong>, which makes more flexible.  You will see the same method definition on Collections.sort</p>\n\n<pre><code>public static &lt;T extends Comparable&lt;? super T&gt;&gt; void sort(List&lt;T&gt; list) {\n</code></pre>\n'}, {'answer_id': 815484, 'author': 'newacct', 'author_id': 86989, 'author_profile': 'https://Stackoverflow.com/users/86989', 'pm_score': 0, 'selected': False, 'text': '<p>To make it even more general, you could even allow it to work for two different types. =P</p>\n\n<pre><code>  /**\n   * Compare two Comparables, treat nulls as -infinity.\n   * @param o1\n   * @param o2\n   * @return -1 if o1&amp;lt;o2, 0 if o1==o2, 1 if o1&amp;gt;o2\n   */\n  protected static &lt;T&gt; int nullCompare(Comparable&lt;? super T&gt; o1, T o2) {\n    if (o1 == null) {\n      if (o2 == null) {\n        return 0;\n      } else {\n        return -1;\n      }\n    } else if (o2 == null) {\n      return 1;\n    } else {\n      return o1.compareTo(o2);\n    }\n  }\n</code></pre>\n'}]
['https://Stackoverflow.com/questions/59120', 'https://Stackoverflow.com', 'https://Stackoverflow.com/users/5967/']