LFZombie Posted May 31, 2020 Posted May 31, 2020 I'm trying to create a portable version of RA2, so I want to eliminate the registration for Blowfish.dll. I found a link from @Iran where @FunkyFr3sh described a method here: https://ppmforums.com/topic-41629/using-blowfishdll-without-registration-no-admin-rights/ But the example there is dead, and I can't seem to produce a manifest that works. MT.exe gave me this: <?xml version="1.0" encoding="UTF-8" standalone="yes"?> <assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0"> <file name="blowfish.dll" hashalg="SHA1"> <comClass clsid="{1440AD10-6AA8-11D1-B6F9-00A024DDAFD1}" tlbid="{E7F91750-8861-11D1-B707-00A024DDAFD1}" description="Blowfish encryption algorithm"></comClass> <typelib tlbid="{E7F91750-8861-11D1-B707-00A024DDAFD1}" version="1.0" helpdir="" flags="HASDISKIMAGE"></typelib> </file> <comInterfaceExternalProxyStub name="IBlockCipher" iid="{E0113100-6A7C-11D1-B6F9-00A024DDAFD1}" tlbid="{E7F91750-8861-11D1-B707-00A024DDAFD1}" proxyStubClsid32="{E0113100-6A7C-11D1-B6F9-00A024DDAFD1}"> </comInterfaceExternalProxyStub> </assembly> But it does nothing. I'd be grateful for any help. 1
0 dkeeton Posted May 31, 2020 Posted May 31, 2020 Maybe this helps. https://github.com/CnCNet/ts-patches/blob/master/res/tibsun.exe.manifest
0 LFZombie Posted June 1, 2020 Author Posted June 1, 2020 No, I tried adding a manifest for ra2.exe, but that didn't change anything. I don't think visibility is the problem. According to procmon, the exe does read the blowfish.dll.manifest already.
0 LFZombie Posted June 6, 2020 Author Posted June 6, 2020 Alright, I've made it work now. What a nightmare. I'll document my findings here for future reference. - External manifest files are cached in a hidden, unflushable cache. If you update a manifest, Windows will silently ignore all changes and use the old version instead. The only reliable way to actually make it read the new manifest is to change the modified date property on the application exe. - Some blowfish.dlls have an embedded manifest that overrides the external, some don't. - Using the same name for the assemblyIdentity and the DLL can cause conflicts. In the end, I used the blowfish.dll with manifest from the ts-patches git dkeeton linked (filesize 160768), and these two manifests in the RA2 folder: game.exe.manifest: <?xml version="1.0" encoding="UTF-8" standalone="yes"?> <assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0"> <assemblyIdentity type="win32" name="client.exe" version="1.0.0.0" /> <dependency> <dependentAssembly> <assemblyIdentity type="win32" name="blowfish.sxs" version="1.0.0.0" /> </dependentAssembly> </dependency> </assembly> blowfish.sxs.manifest: <?xml version="1.0" encoding="UTF-8" standalone="yes"?> <assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0"> <assemblyIdentity type="win32" name="blowfish.sxs" version="1.0.0.0" /> <file xmlns="urn:schemas-microsoft-com:asm.v1" name="BLOWFISH.DLL" hashalg="SHA1"> <typelib tlbid="{E7F91750-8861-11D1-B707-00A024DDAFD1}" version="1.0" helpdir="" flags="HASDISKIMAGE"></typelib> <comClass clsid="{1440AD10-6AA8-11D1-B6F9-00A024DDAFD1}" tlbid="{E7F91750-8861-11D1-B707-00A024DDAFD1}" description="Blowfish encryption algorithm"></comClass> </file> <comInterfaceExternalProxyStub name="IBlockCipher" iid="{E0113100-6A7C-11D1-B6F9-00A024DDAFD1}" tlbid="{E7F91750-8861-11D1-B707-00A024DDAFD1}" proxyStubClsid32="{E0113100-6A7C-11D1-B6F9-00A024DDAFD1}"></comInterfaceExternalProxyStub> </assembly> Some of that might or might not be redundant, but at least it works now without Administrator rights and COM registration. 1
Question
LFZombie
I'm trying to create a portable version of RA2, so I want to eliminate the registration for Blowfish.dll. I found a link from @Iran where @FunkyFr3sh described a method here:
https://ppmforums.com/topic-41629/using-blowfishdll-without-registration-no-admin-rights/
But the example there is dead, and I can't seem to produce a manifest that works. MT.exe gave me this:
But it does nothing. I'd be grateful for any help.
3 answers to this question
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now