[Ironpython-users] Run a WPF application written in IronPython on the client computer without the install IronPython

Slide slide.o.mix at gmail.com
Mon Mar 19 16:17:36 CET 2012


Setting /target:winexe should not show any console window. Are you sure its
a console window that is being shown?

Thanks,

slide

2012/3/19 <sepatan at sibmail.com>

> Thank you, Matt Ward :).
>  It worked :)). You're a real expert.
>  Just one more thing, a window appears and then disappears. I guess,
> because the console is closed.
>  Maybe after the text of the program in primer.py something else should be?
>
> from avalon import *
> import calculator
> w = Window()
> w.Title = "My Avalon Application"
> w.Content = LoadXaml("calc.xaml")
> calculator.enliven(w)
> w.Show()
> ??????????????????????????????????
>
> > If you use the /target:winexe with pyc.py it will add the STAThread
> > attribute to your main method. That should fix the exception.
> >
> > In the C# console app you can add the STAThread attribute to the main
> > method:
> >
> >     class Program
> >     {
> >         [STAThread]
> >         static void Main(string[] args)
> >         {
> >
> > On 19 March 2012 08:17,  <sepatan at sibmail.com> wrote:
> >> I have a need to run a WPF application written in IronPython on the
> >> client
> >> without installing IronPython.
> >> В Technology to try to debug a standard example of WPF
> >> .\IronPython-2.7.2.1\Tutorial.
> >> В Baseline data:
> >>
> >> 1) The computer is not installed IronPython. From IronPython-2.7.2.1.zip
> >> (download program) extracted in C:\IronPython
> >>
> >> 2) Create a C:\IronPython subdirectory pyc_d.
> >>
> >> 3) In the C:\IronPython\pyc_d created a file primer.py:
> >>
> >> from avalon import *
> >> import calculator
> >> w = Window()
> >> w.Title = "My Avalon Application"
> >> w.Content = LoadXaml("calc.xaml")
> >> calculator.enliven(w)
> >> w.Show()
> >>
> >> 4)pyc_d contains:
> >>
> >> IronPython.dll
> >> IronPython.Modules.dll
> >> IronPython.Wpf.dll
> >> Microsoft.Scripting.dll
> >>
> >> avalon.py
> >> Calc.xaml
> >> calculator.py
> >> primer.py
> >> pyc.py
> >>
> >> 5) Run ipy.exe, sequentially enter commands from the primer.py, it works
> >> :).
> >>
> >> 6) Next:
> >> c:\IronPython\ipy.exe pyc.py /main:primer.py /target:exe /platform:x86
> >> /standalone
> >> I get primer.exe (4,09 РњР‘).
> >>
> >> 7) Run from the console, I get:
> >> C:\IronPython\pyc_d>primer.exe
> >>
> >> An unhandled exception: System.InvalidOperationException: The calling
> >> thread must be STA, because many UI components require this.
> >> В  РІ
> >> Microsoft.Scripting.Interpreter.NewInstruction.Run(InterpretedFrame
> >> frame)
> >> В  РІ Microsoft.Scripting.Interpreter.Interpreter.Run(InterpretedFrame
> >> frame)
> >> В  РІ Microsoft.Scripting.Interpreter.LightLambda.Run3[T0,T1,T2,TRet](T0
> >> arg0, T1 arg1, T2 arg2)
> >> В
>
> ...............................................................................
> >> В All is not enumerate
> >>
> >> It seems to do everything correctly. I take an example from the
> >> Tutorial,
> >> the files from the Tutorial, to be going smoothly, but ... What is the
> >> problem?
> >>
> >> 8)Try another option. Make a thin client in C #.
> >> В Create a console C # project, and Program.cs:
> >>
> >> using System;
> >> using IronPython.Hosting;
> >> using Microsoft.Scripting.Hosting;
> >> using System.Reflection;
> >> using System.IO;
> >>
> >> namespace ConsoleApplication1
> >> {
> >>      class Program
>        {
> >>            static void Main(string[] args)
> >>            {
> >>                  string path = Assembly.GetExecutingAssembly().Location;
> >>                  string dir = Directory.GetParent(path).FullName;
> >>
> >>                  ScriptEngine engine = Python.CreateEngine();
> >>                  ScriptSource source =
> >> engine.CreateScriptSourceFromFile(Path.Combine(dir, args[0]));
> >>                  CompiledCode compiled = source.Compile();
> >>                  ScriptScope scope = engine.CreateScope();
> >>                  compiled.Execute(scope);
> >>           }
> >>      }
> >> }
> >>
> >> 9) run:
> >> C:\IronPython\pyc_d>ConsoleApplication1.exe primer.py
> >>
> >> the same result: (Unhandled exception: System.InvalidOperationException:
> >> The calling thread must be STA, because many UI components require
> >> this.)
> >> В What is the problem?
> >> В Are there any experts who can create learning (from Tutorial) WPF
> >> application and run it on a machine without installing IronPython from
> >> the console?
> >> В Thank you.)
>
> _______________________________________________
> Ironpython-users mailing list
> Ironpython-users at python.org
> http://mail.python.org/mailman/listinfo/ironpython-users
>



-- 
Website: http://earl-of-code.com
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/ironpython-users/attachments/20120319/e7f758cc/attachment.html>


More information about the Ironpython-users mailing list