From: cool-RR <co...@co...> - 2009-06-23 11:11:38
|
I have a problem: I used py2exe for my program, and it worked on my computer. I packaged it with Inno Setup (still worked on my computer), but when I sent it to a different computer, I got the following error when trying to run the application: "CreateProcess failed; code 14001." The app won't run. I googled for it a bit and found that the the user should install some MS redistributable something, but I don't want to make life complicated for my users. Is there a solution? -- Sincerely, Ram Rachum |
From: cool-RR <co...@co...> - 2009-06-25 17:37:56
|
Does anyone have an idea? I would really like to resolve this before EuroPython. Thanks, Ram. On Tue, Jun 23, 2009 at 1:11 PM, cool-RR <co...@co...> wrote: > I have a problem: I used py2exe for my program, and it worked on my > computer. I packaged it with Inno Setup (still worked on my computer), but > when I sent it to a different computer, I got the following error when > trying to run the application: "CreateProcess failed; code 14001." The app > won't run. > I googled for it a bit and found that the the user should install some MS > redistributable something, but I don't want to make life complicated for my > users. Is there a solution? > > > -- > Sincerely, > Ram Rachum > -- Sincerely, Ram Rachum |
From: Daniel P. <da...@pr...> - 2009-06-25 17:57:10
|
It might help if you could provide some version numbers. Python version, py2exe version, Windows version, etc. Also, how are you invoking CreateProcess? If you're using Python 2.6.x and/or Python 3.x, the issue is probably related to the Microsoft Visual C Runtime 9.0 library (msvcr90.dll) and/or its manifest. (Is this the "some MS redistributable something" that you refer to? I can't read your mind, you know.) See the list archives for lots and lots of discussion of this issue. - Daniel. cool-RR wrote: > Does anyone have an idea? I would really like to resolve this before > EuroPython. > > Thanks, > Ram. > > On Tue, Jun 23, 2009 at 1:11 PM, cool-RR <co...@co... > <mailto:co...@co...>> wrote: > > I have a problem: I used py2exe for my program, and it worked on my > computer. I packaged it with Inno Setup (still worked on my > computer), but when I sent it to a different computer, I got the > following error when trying to run the application: "CreateProcess > failed; code 14001." The app won't run. > I googled for it a bit and found that the the user should install > some MS redistributable something, but I don't want to make life > complicated for my users. Is there a solution? > > > -- > Sincerely, > Ram Rachum > > > > > -- > Sincerely, > Ram Rachum > > > ------------------------------------------------------------------------ > > ------------------------------------------------------------------------------ > > > ------------------------------------------------------------------------ > > _______________________________________________ > Py2exe-users mailing list > Py2...@li... > https://lists.sourceforge.net/lists/listinfo/py2exe-users |
From: Daniel P. <da...@pr...> - 2009-06-25 20:53:02
|
Please reply via the list instead of sending off-list responses. I am not an expert on the multiprocessing module, but a quick check: You are calling multiprocessing.freeze_support() at the beginning of your program, right? See: http://docs.python.org/library/multiprocessing.html#multiprocessing.freeze_support When you create a new process on a Windows platform, the underlying system call is CreateProcess(). Error code 14001 is ERROR_SXS_CANT_GEN_ACTCTX. This indicates a problem with your side-by-side (SxS) assembly. Normally, an error like this would also occur with any other method of starting your program. Are you saying you can invoke your program normally, but the multiprocessing module can't re-invoke it? I'm not sure why that would happen. Perhaps someone with more knowledge of the multiprocessing module could provide some insight. Python 2.6 is built with MSVC 9.0, and more critically, the py2exe stub executable for Python 2.6 is built with MSVC 9.0. So your issue is almost certainly because of msvcr90.dll and/or related DLLs. The easiest solution is to make sure that your target machine has the Microsoft Visual C++ 2008 Redistributable Package installed. Here's a link: http://www.microsoft.com/downloads/details.aspx?FamilyID=9b2da534-3e03-4391-8a4d-074b9f2bc1bf&displaylang=en <http://www.microsoft.com/downloads/details.aspx?FamilyID=9b2da534-3e03-4391-8a4d-074b9f2bc1bf&displaylang=en> If you really don't want to deploy the MSVC redistributable package into the target computer's native assembly cache, then you will need to package all the necessary DLLs and/or manifest files (including Microsoft.VC90.CRT.manifest, and any DLLs that it references) in your installer, and deploy them to the same location as your executable file. (Also, any re-invocation of your executable file via the multiprocessing or subprocess modules should execute it from a location where these files are available.) Dependency Walker is an invaluable tool for tracking what DLLs are being referenced by your executable. You can get it from: http://www.dependencywalker.com/ As I mentioned in my previous email, there have been many discussions of related issues on this list in the last few months. I would recommend you read through the archives of the list, since that will probably answer your question(s) better than I can. - Daniel. cool-RR wrote: > Python: 2.6.2c1 > py2exe: 0.6.9 > Windows: XP Pro > > I'm not sure what "CreateProcess" means in this context. I am creating > a process with the multiprocessing package, is this what this is about? > > I'm not sure whether `msvcr90.dll` is the thing - How should I know? > The only thing I got was the CreateProcess error message. > > On Thu, Jun 25, 2009 at 8:57 PM, Daniel Pryden <da...@pr... > <mailto:da...@pr...>> wrote: > > It might help if you could provide some version numbers. Python > version, py2exe version, Windows version, etc. Also, how are you > invoking CreateProcess? > > If you're using Python 2.6.x and/or Python 3.x, the issue is probably > related to the Microsoft Visual C Runtime 9.0 library (msvcr90.dll) > and/or its manifest. (Is this the "some MS redistributable something" > that you refer to? I can't read your mind, you know.) See the list > archives for lots and lots of discussion of this issue. > > - Daniel. > > cool-RR wrote: > > Does anyone have an idea? I would really like to resolve this > before > > EuroPython. > > > > Thanks, > > Ram. > > > > On Tue, Jun 23, 2009 at 1:11 PM, cool-RR <co...@co... > <mailto:co...@co...> > > <mailto:co...@co... <mailto:co...@co...>>> wrote: > > > > I have a problem: I used py2exe for my program, and it > worked on my > > computer. I packaged it with Inno Setup (still worked on my > > computer), but when I sent it to a different computer, I got the > > following error when trying to run the application: > "CreateProcess > > failed; code 14001." The app won't run. > > I googled for it a bit and found that the the user should > install > > some MS redistributable something, but I don't want to make life > > complicated for my users. Is there a solution? > > |