[RELEASE]EzDeploy-- a Cute & Dynamic Deploy Application

yhd4711499

Member
May 1, 2009
47
22
0
Chendu,China
EzDeploy
Developped by Ornithopter, using WindowsPhone.Tools(by Oren Nachman) and Toggle Switch Control Library(by Eric Jensen)

You can get the latest version in these sites or from attachments.
Ge.tt
http://ge.tt/9NKZrW8
Codeplex:
http://ezdeploy.codeplex.com/

Features:
1>Smart Installing: Update app when installed.
2>Unistall app
3>Batch installing and uninstalling
4>Show apps installed on Phone
5>Support connecting with Phone and Emulator at same time
6>Drap and Drop: you can drop xap file(s) in to application window to add it(them).
7>Using WPConnect.exe: using WPConnect.exe to connect with Phone when connecting.(You might switch it to "ON" in setting panel)
8>Customize Xap info
9>Install Xap into "Settings"
10>Resume Patch
11>Auto Patch xap

Contact me:[email protected]
Thanks to:longhronshen
Winco for his MINISDK

2011/10/14 UPDATED:
Add a console application.
Command:[/quiet] [/device:] [/wpcpath] [/nowpc]
/quiet args:none Description: Hide all console.writeline
/device: args:[phone] [emulator] Description:Choose target device(Default:phone)
/wpcpath: args:string Description:Define the file path of WPConnect.exe
/nowpc: args:none Description:Don't use WPConnect.exe







 

Attachments

Last edited:

sensboston

Recognized Developer
Nov 18, 2009
2,142
797
193
Boston, MA
Just a few suggestions:
- add command line params processing, like C:\EzDeploy.exe myapp1.xap myapp2.xap ...
- "hide" additional dlls to exe, add 'em as an embedded resources. You may use that trick to load 'em:
Code:
            // This code will load embedded assemblies (compressed external dll's)
            AppDomain.CurrentDomain.AssemblyResolve += (_, args) =>
            {
                Assembly asm = Assembly.GetExecutingAssembly();
                String resourceName = asm.GetName().Name + "." + new AssemblyName(args.Name).Name + ".dll.gz";
                using (var stream = asm.GetManifestResourceStream(resourceName))
                {
                    if (stream != null)
                    {
                        using (MemoryStream memStream = new MemoryStream())
                        {
                            GZipStream decompress = new GZipStream(stream, CompressionMode.Decompress);
                            decompress.CopyTo(memStream);
                            return Assembly.Load(memStream.GetBuffer());
                        }
                    }
                    else return null;
                }
            };
In code above I'm using gzipped dlls (to reduce exe size) but you may use uncompressed stream.
 

yhd4711499

Member
May 1, 2009
47
22
0
Chendu,China
Just a few suggestions:
- add command line params processing, like C:\EzDeploy.exe myapp1.xap myapp2.xap ...
- "hide" additional dlls to exe, add 'em as an embedded resources. You may use that trick to load 'em:
Code:
            // This code will load embedded assemblies (compressed external dll's)
            AppDomain.CurrentDomain.AssemblyResolve += (_, args) =>
            {
                Assembly asm = Assembly.GetExecutingAssembly();
                String resourceName = asm.GetName().Name + "." + new AssemblyName(args.Name).Name + ".dll.gz";
                using (var stream = asm.GetManifestResourceStream(resourceName))
                {
                    if (stream != null)
                    {
                        using (MemoryStream memStream = new MemoryStream())
                        {
                            GZipStream decompress = new GZipStream(stream, CompressionMode.Decompress);
                            decompress.CopyTo(memStream);
                            return Assembly.Load(memStream.GetBuffer());
                        }
                    }
                    else return null;
                }
            };
In code above I'm using gzipped dlls (to reduce exe size) but you may use uncompressed stream.
Thanks for suggestion. But I don't know how to merge dll into exe. Sorry for that.