1

This maybe oddest thing I've seen in my career as a developer...

I have a project that is referencing JSON.NET so that I can deserialize a JSON string. I have another project (InstallShield project) that packages this application in a setup.exe file. All of this works up to this point - the InstallShield project packages up the app in setup.exe and when setup.exe is executed it works appropriately.

Here is the problem... When running makecab.exe to compress the setup.exe file in a cab file it does not include the setup.exe file (it reports that it compressed it successfully, but when you look whats in the cab file the setup.exe file is missing).

Here is the odd part... If I remove the one line of code that uses JSON.NET to deserialize an object makecab.exe works perfectly fine. I don't even have to remove the reference to JSON.NET - just the line of code that uses the library.

Why would makecab.exe behave differently based on whether I have code that uses JSON.NET or not??? Why would makecab.exe even care about that level of granularity??? Especially after the project is built, packaged, and included in a setup.exe file??? At this point I don't even know how makecab.exe even knows if JSON.NET library is even being used.

dcinadr
  • 665
  • 2
  • 7
  • 24

0 Answers0