1. thetank18

    thetank18 MDL Member

    Oct 23, 2019
    102
    76
    10
    #1 thetank18, Jun 18, 2023
    Last edited: Aug 6, 2023
  2. diamondggg

    diamondggg MDL Novice

    Sep 30, 2016
    23
    73
    0
  3. spinalGR

    spinalGR MDL Senior Member

    Oct 16, 2014
    408
    81
    10
    nice project !
     
  4. thetank18

    thetank18 MDL Member

    Oct 23, 2019
    102
    76
    10
    xpmgr has been updated to support x64 editions of Windows XP and Server 2003.
     
  5. thetank18

    thetank18 MDL Member

    Oct 23, 2019
    102
    76
    10
    xpmgr has been updated to remove the "Activate Windows" shortcuts if --SetConfirmationID is successful.
     
  6. thetank18

    thetank18 MDL Member

    Oct 23, 2019
    102
    76
    10
    xpmgr has been updated to give experimental support for Office 2003. Most of the groundwork is laid out (mostly being copy pasted from how XP is interfaced since Microsoft did the same thing), but from my testing it just crashes when you try to do anything with Office. My guess is that the client ID (0xC475) doesn't work on Office, like it did on Windows.
     
  7. un user

    un user MDL Member

    Jun 16, 2013
    157
    104
    10
    Hello. Could you made a build to run in Windows XP ?
    Thank You.
     
  8. thetank18

    thetank18 MDL Member

    Oct 23, 2019
    102
    76
    10
    The builds should run in Windows XP already. Does it give any error?
     
  9. un user

    un user MDL Member

    Jun 16, 2013
    157
    104
    10
    Yes.
    At this moment, i could not test.
    Could you make a test ?
     
  10. un user

    un user MDL Member

    Jun 16, 2013
    157
    104
    10
    Sorry, my mistake. Works now.
    File was damaged due to incomplete transfer.
     
  11. thetank18

    thetank18 MDL Member

    Oct 23, 2019
    102
    76
    10
    xpmgr has been updated to use the TDM-GCC compiler instead of MSVC, to cut ties with Microsoft-provided tools (since they're gonna get rid of XP compilation support at some point).
     
  12. thetank18

    thetank18 MDL Member

    Oct 23, 2019
    102
    76
    10
    xpmgr has been updated to fix a bug where error codes weren't being displayed. Turns out that CLion has a better pre-compile warning system than VS, because VS didn't bother to tell me that adding an HRESULT to a string does nothing to it.
     
  13. thetank18

    thetank18 MDL Member

    Oct 23, 2019
    102
    76
    10
    I was able to figure out the initial error that was created when trying to access anything related to Office 2003, because the CLSID that pointed to MSO.DLL was incorrect.

    However, I'm struggling to figure out the next error code it gave, being 80004005, a generic error code.

    Specifically, it happens at this line: "HRESULT status = CoCreateInstance(O2003_CLSID, nullptr, CLSCTX_INPROC_SERVER, O2003_IID, reinterpret_cast<void **>(&O2003_LicenseAgent));"

    And the variables used here are:
    "static CLSID O2003_CLSID = { 0x812034D2, 0x760F, 0x11CF, { 0x93, 0x70, 0x00, 0xAA, 0x00, 0xB8, 0xBF, 0x00 } };
    static IID O2003_IID = { 0x00194002, 0xD9C3, 0x11D3, { 0x8D, 0x59, 0x00, 0x50, 0x04, 0x83, 0x84, 0xE3 } };"

    The CLSID is correct, and the IID matches with what is shown in the typelibs via oleview.exe, part of the Windows SDK. However, it gives the same error as if I put in an incorrect IID.
     
  14. abbodi1406

    abbodi1406 MDL KB0000001

    Feb 19, 2011
    17,190
    90,654
    340
    The correct CLSID according to the exported DllGetClassObject is 2DF8D054-5BFA-101B-BDE5-00AA0044DE52 (notice how similar to TypeLib ID)

    however, since it's not exposed directly or registered, you need a workaround to make it work (add fake registry ProgID, use CoRegisterClassObject, or LoadLibrary/GetProcAddress/DllGetClassObject/IClassFactory::CreateInstance approach)
    *based on google search, i'm not an expert*

    and IID probably need to be IUnknown, before running QueryInterface and hand it to O2003_IID