Anonymous Monk has asked for the wisdom of the Perl Monks concerning the following question:

Dear Monks,

I really don't know where to begin with in solving my problem. I generate EXE for distributing my GUI software. I use ActiveState. Everything is fine, the software is installed on many machines. BUT Some users have problems in running the EXE. I've done a test and I've discovered that the DOS prompt shows an error massage sayng a module (JSON) is missing! How can it be? On every other machine the SAME EXE is working fine, all machines are using the same operating system (Windows 8.1 64 bit). For know, I just compiled a version of the software without the JSON module...

Where should I look in? I'm really without a clou.

I would appreciate if you have some suggestions

Replies are listed 'Best First'.
Re: EXE missing module at runtime
by Laurent_R (Canon) on Aug 27, 2014 at 17:57 UTC
    What command are you using to generate the EXE?

    Quite possibly your JSON module is not located at the same place as the other modules you are using and is not found when the EXE is generated.

    If you are using Perl2Exe, you should use following option to include the modules:

    -I=dir1:dir2
    where dir1 and dir2 are the directories where the modules you want to include are located.

      But sorry, it doesn't make sense. The exe HAS all the modules, otherwise it will not run on ANY machines! Am I wrong?

        It is not me, but YOU, who said that your system reports that the JSON module is missing. Maybe the users on the other machines (those where it works) are using parts of the program that do not require JSON, maybe Perl and Json are installed on some of the other machines, maybe still something else. I am just trying to make some possible sense from the limited information you have provided. It seems to me (from discussions on previous posts here and on other forums, I haven't checked that myself) that Perl2Exe will not complain if it does not find one of the modules that is supposed to be included, because it will "think" that the module will be available on the platform where the EXE will run.

        Now, having said that, you haven't answered my questions and said how you generate your EXE. So long as you don't say that and provide the exact command line you used for generating the EXE, we can only make wild guesses.

Re: EXE missing module at runtime
by Anonymous Monk on Aug 28, 2014 at 07:35 UTC

    How can it be?

    Ask activestate :)

    Where should I look in?

    Examine the full list of files packed, make sure JSON... is on the list

    Also, Citrus Perl and/or Cava Packager