bpo-41070: Simplify pyshellext.dll build (GH-21037)
Replace MIDL-generated file with manual GUID definition.
Use the same .def file for release and debug builds.
Update setup build to support latest toolset
diff --git a/PC/pyshellext.cpp b/PC/pyshellext.cpp
index 0198802..ffca169 100644
--- a/PC/pyshellext.cpp
+++ b/PC/pyshellext.cpp
@@ -12,15 +12,14 @@
#include <olectl.h>
#include <strsafe.h>
-#include "pyshellext_h.h"
-
#define DDWM_UPDATEWINDOW (WM_USER+3)
static HINSTANCE hModule;
static CLIPFORMAT cfDropDescription;
static CLIPFORMAT cfDragWindow;
-static const LPCWSTR CLASS_SUBKEY = L"Software\\Classes\\CLSID\\{BEA218D2-6950-497B-9434-61683EC065FE}";
+#define CLASS_GUID "{BEA218D2-6950-497B-9434-61683EC065FE}"
+static const LPCWSTR CLASS_SUBKEY = L"Software\\Classes\\CLSID\\" CLASS_GUID;
static const LPCWSTR DRAG_MESSAGE = L"Open with %1";
using namespace Microsoft::WRL;
@@ -121,8 +120,7 @@
return hr;
}
-
-class PyShellExt : public RuntimeClass<
+class DECLSPEC_UUID(CLASS_GUID) PyShellExt : public RuntimeClass<
RuntimeClassFlags<ClassicCom>,
IDropTarget,
IPersistFile
@@ -483,7 +481,7 @@
}
STDMETHODIMP GetClassID(CLSID *pClassID) {
- *pClassID = CLSID_PyShellExt;
+ *pClassID = __uuidof(PyShellExt);
return S_OK;
}
};