diff --git a/Changelog.txt b/Changelog.txt index 5912ee9..b64fd0e 100644 --- a/Changelog.txt +++ b/Changelog.txt @@ -1,4 +1,5 @@ Version 2.11 +- The replication now works on x86, again. - Fixed a bug in temporary index loading. Version 2.10 diff --git a/Src/DSInternals.Replication.Interop/DSInternals.Replication.Interop.vcxproj b/Src/DSInternals.Replication.Interop/DSInternals.Replication.Interop.vcxproj index 35a07e1..12d3254 100644 --- a/Src/DSInternals.Replication.Interop/DSInternals.Replication.Interop.vcxproj +++ b/Src/DSInternals.Replication.Interop/DSInternals.Replication.Interop.vcxproj @@ -100,7 +100,6 @@ MultiThreadedDebugDLL false true - stdafx.h;%(ForcedIncludeFiles) stdafx.h @@ -130,7 +129,6 @@ MultiThreadedDebugDLL false true - stdafx.h;%(ForcedIncludeFiles) stdafx.h @@ -159,7 +157,6 @@ MultiThreadedDLL Async stdafx.h - stdafx.h;%(ForcedIncludeFiles) false @@ -185,7 +182,6 @@ MultiThreadedDLL Async stdafx.h - stdafx.h;%(ForcedIncludeFiles) false @@ -216,11 +212,17 @@ + - + + stdafx.h;unmanaged.h;%(ForcedIncludeFiles) + stdafx.h;unmanaged.h;%(ForcedIncludeFiles) + stdafx.h;unmanaged.h;%(ForcedIncludeFiles) + stdafx.h;unmanaged.h;%(ForcedIncludeFiles) + diff --git a/Src/DSInternals.Replication.Interop/DSInternals.Replication.Interop.vcxproj.filters b/Src/DSInternals.Replication.Interop/DSInternals.Replication.Interop.vcxproj.filters index 412ebc4..d6312dd 100644 --- a/Src/DSInternals.Replication.Interop/DSInternals.Replication.Interop.vcxproj.filters +++ b/Src/DSInternals.Replication.Interop/DSInternals.Replication.Interop.vcxproj.filters @@ -42,6 +42,9 @@ Header Files + + Header Files + diff --git a/Src/DSInternals.Replication.Interop/unmanaged.h b/Src/DSInternals.Replication.Interop/unmanaged.h new file mode 100644 index 0000000..6a9615f --- /dev/null +++ b/Src/DSInternals.Replication.Interop/unmanaged.h @@ -0,0 +1,8 @@ +/* +Including this header will disable managed code in a C++ file, even if compiled with the /CLR parameter. +We need to do this with files generated by MIDL. +Otherwise, we get "The Array Bounds Are Invalid" error from at least one RPC call on the x86 platform. +Strangely enough, this hack is not needed on the x64 platform. +*/ +#pragma once +#pragma managed(push, off) \ No newline at end of file