theMK2k / MetropolisLauncher

A data-heavy Emulation & Gaming front-end for Windows
http://metropolis-launcher.net
Other
40 stars 3 forks source link

Source code for MKNetLib and MKNetDXLib #30

Open darkstar opened 6 years ago

darkstar commented 6 years ago

Hi,

I was trying to compile Metropolis Launcher, however, I have a different version of DevExpress available. Changing the references was easy enough, however, there seem to be some hardcoded references inside these two libraries, for which no source code is available.

Please provide the source code to these two libraries so that they can be rebuilt against a different version of DevExpress

theMK2k commented 6 years ago

Hi darkstar,

Currently, MKNetDXLib source isn't "ready for public exposure". I'll work on that and let you know.

Could you please verify if MKNetLib really has a dependency with DevExpress (it definitely should not)?

Which DevExpress version do you use?

What are your intentions with the sources, do you want to help the project? Or just tinker with them? :D

darkstar commented 6 years ago

Hi theMK2k,

Yes, there are definitely references from the MKNetDXLib to the 15.2 version of DevExpress that are hardcoded in the DLL. Funny that you don't know that, given that you apparently wrote the libraries in question ;-) 2018-04-09_224416 2018-04-09_224748

Here is the corresponding part from the Manifest of your dll:

// Metadata version: v4.0.30319
.assembly extern mscorlib
{
  .publickeytoken = (B7 7A 5C 56 19 34 E0 89 )                         // .z\V.4..
  .ver 4:0:0:0
}
.assembly extern 'DevExpress.Utils.v15.2'
{
  .publickeytoken = (B8 8D 17 54 D7 00 E4 9A )                         // ...T....
  .ver 15:2:11:0
}
.assembly extern 'DevExpress.XtraEditors.v15.2'
{
  .publickeytoken = (B8 8D 17 54 D7 00 E4 9A )                         // ...T....
  .ver 15:2:11:0
}
...

I could run the whole DLL through ildasm, change the references to the correct version(s), and recompile it but that is a road I would rather not take if at all possible.

As to what my intentions with the source are, I prefer to compile as much of the stuff I try myself, just to make sure that there are no hidden "goodies" or anything. May I ask why you did not provide the DevExpress DLLs in the libs/ directory in the first place? That would let everyone recompile the program easily, even without access to DevExpress

darkstar commented 6 years ago

Update: it is indeed possible to build MetropolisLauncher if one extracts the DLL files from the binary download and places them into the Libs/ directory. Complicated but it works. Still there's the issue of the missing source code of the two "NetLib"s (anything closed-source with "net" in the name immediately raises suspicions of being a data collector tool of some sort)

theMK2k commented 6 years ago

I specifically asked, if MKNetLib (not MKNetDXLib) had deps of DevExpress ;)

The "Net" term is not "Network" but .Net/dotNet, no data collecting there.