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;
     }
 };
diff --git a/PC/pyshellext.def b/PC/pyshellext.def
index 5424bd1..288a9ad 100644
--- a/PC/pyshellext.def
+++ b/PC/pyshellext.def
@@ -1,4 +1,3 @@
-LIBRARY	"pyshellext"
 EXPORTS
   DllRegisterServer PRIVATE
   DllUnregisterServer PRIVATE
diff --git a/PC/pyshellext.idl b/PC/pyshellext.idl
deleted file mode 100644
index c0a1838..0000000
--- a/PC/pyshellext.idl
+++ /dev/null
@@ -1,12 +0,0 @@
-import "ocidl.idl";
-
-[uuid(44039A76-3BDD-41C1-A31B-71C00202CE81), version(1.0)]
-library PyShellExtLib
-{
-    [uuid(BEA218D2-6950-497B-9434-61683EC065FE), version(1.0)]
-    coclass PyShellExt
-    {
-        [default] interface IDropTarget;
-        interface IPersistFile;
-    }
-};
\ No newline at end of file
diff --git a/PC/pyshellext_d.def b/PC/pyshellext_d.def
deleted file mode 100644
index 7d2148b..0000000
--- a/PC/pyshellext_d.def
+++ /dev/null
@@ -1,6 +0,0 @@
-LIBRARY	"pyshellext_d"
-EXPORTS
-  DllRegisterServer PRIVATE
-  DllUnregisterServer PRIVATE
-  DllGetClassObject PRIVATE
-  DllCanUnloadNow PRIVATE