diff --git a/generator/protoc.bat b/generator/protoc.bat
new file mode 100644
index 0000000..2538c94
--- /dev/null
+++ b/generator/protoc.bat
@@ -0,0 +1,9 @@
+@echo off
+:: This file acts as a drop-in replacement of binary protoc.exe.
+:: It will use either Python-based protoc from grpcio-tools package,
+:: or if it is not available, protoc.exe from path if found.
+
+setLocal enableDelayedExpansion
+set mydir=%~dp0
+python "%mydir%\protoc" %*
+exit /b %ERRORLEVEL%
diff --git a/pb.h b/pb.h
index 9ef8019..32046a2 100644
--- a/pb.h
+++ b/pb.h
@@ -30,9 +30,13 @@
 /* Disable support for custom streams (support only memory buffers). */
 /* #define PB_BUFFER_ONLY 1 */
 
+/* Disable support for 64-bit datatypes, for compilers without int64_t
+   or to save some code space. */
+/* #define PB_WITHOUT_64BIT 1 */
+
 /* Switch back to the old-style callback function signature.
  * This was the default until nanopb-0.2.1. */
-/* #define PB_OLD_CALLBACK_STYLE */
+/* #define PB_OLD_CALLBACK_STYLE 1 */
 
 /* Set the fieldinfo width for all messages using automatic width
  * selection. Valid values are 2, 4 and 8. Usually even if you need
@@ -162,6 +166,13 @@
 #error You should not lower PB_MAX_REQUIRED_FIELDS from the default value (64).
 #endif
 
+#ifdef PB_WITHOUT_64BIT
+#ifdef PB_CONVERT_DOUBLE_FLOAT
+/* Cannot use doubles without 64-bit types */
+#undef PB_CONVERT_DOUBLE_FLOAT
+#endif
+#endif
+
 /* List of possible field types. These are used in the autogenerated code.
  * Least-significant 4 bits tell the scalar type
  * Most-significant 4 bits specify repeated/required/packed etc.
diff --git a/tests/regression/issue_253/short_array.c b/tests/regression/issue_253/short_array.c
index 5ed6c3f..004e02f 100644
--- a/tests/regression/issue_253/short_array.c
+++ b/tests/regression/issue_253/short_array.c
@@ -13,7 +13,7 @@
         TestMessage msg = TestMessage_init_zero;
         
         msg.rep_uint32_count = 1;
-        msg.rep_uint32[0] = (1 << 31);
+        msg.rep_uint32[0] = ((uint32_t)1 << 31);
         
         TEST(pb_encode(&ostream, TestMessage_fields, &msg));
         TEST(ostream.bytes_written == TestMessage_size);
diff --git a/tests/site_scons/site_tools/nanopb.py b/tests/site_scons/site_tools/nanopb.py
index f0626c6..1014827 100644
--- a/tests/site_scons/site_tools/nanopb.py
+++ b/tests/site_scons/site_tools/nanopb.py
@@ -33,6 +33,7 @@
 import SCons.Util
 from SCons.Script import Dir, File
 import os.path
+import platform
 
 class NanopbWarning(SCons.Warnings.Warning):
     pass
@@ -67,7 +68,10 @@
     p = os.path.join(n, 'generator', 'protoc')
     if os.path.exists(p):
         # Use the grcpio-tools protoc wrapper
-        return env['ESCAPE'](p)
+        if env['PLATFORM'] == 'win32':
+            return env['ESCAPE'](p + '.bat')
+        else:
+            return env['ESCAPE'](p)
 
     p = env.WhereIs('protoc')
     if p:
