eWorld.UI - Matt Hawley

Ramblings of Matt

Updated Utility: WebDeploy

April 3, 2004 00:02 by matthaw

WebDeploy has been updated. Please visit here for more information.

WebDeploy has hit v0.8 with some new features that have been requested since the last version, as well as some fixes to bugs that existed previously.  The user interface hasn't changed much, so no pictures are to come.  But alas, everyone's always interested in what has been changed, fixed or added... so, drumroll please...

  • Added support for visual studio projects as a source.
  • Added button to change the name of a file in the files to copy dialog.
  • Added ability to exclude folders.
  • Fixed error when copying over files when Read Only attribute is set.
  • Fixed settings bitmap to be transparent.
  • Fixed problem updating ftp profiles.
  • Modified to only allow one instance to be running at a time.
  • Modified storage of previously used source & destination locations.

Like always, WebDeploy is freeware, and the source code is not available. If you have any further suggestions/comments/ideas/problems, please do not hesitate to contact me or post them on this blog post.

If you wish to download WebDeploy, click here. You will need the .NET framework 1.1.4322 to run WebDeploy.



Categories: Unleash It
Actions: E-mail | Permalink | Comments (27) | Comment RSSRSS comment feed

Comments

April 3. 2004 14:02

After finding your tool and realizing what I needed was to import a VS.NET project file, I decided to write my own little "deployer". It's definately not as cool as your's.



Then I saw this post. YAY!!



But, then I run it only to have it crash on me by just pressing the VS project browse button. BOO!!! ;)



Somebody isn't check boundaries.



Here's the exception.



System.ArgumentOutOfRangeException: Length cannot be less than zero.

Parameter name: length

   at System.String.Substring(Int32 startIndex, Int32 length)

   at eWorld.Apps.WebDeploy.210ff09a2516b1a7.e66da26517d259bf(Object e0292b9ed559da7d, EventArgs fbf34718e704c6bc)

http://

April 3. 2004 14:04

And another thing. Do you really name your classes and methods like that? Or is that the work of some obfusicator?

http://

April 3. 2004 16:38

Obfuscator...I'll get a fix up for that later today, I have an idea on what it is.

Matt Hawley

April 5. 2004 05:00

I downloaded the new version and now I get "Strong name validation failed" errors in WebDeploy-GUI.exe.  Unfortunately I lost my old version.  Is there a link to the old zip file somewhere?

David

April 5. 2004 06:15

Arr - I forgot to resign the assemblies...too much things going on this weekend. I removed the file at 10:15 PM CST, and I'll get it back up (and working) first thing Monday morning.

Matt Hawley

April 5. 2004 16:52

Okay - everything should be good again.

Matt Hawley

April 6. 2004 04:38

Works great now. thanks!

David

April 7. 2004 16:45

just downloaded...  I am using correct version of .net, Windows XP Pro.



System.InvalidOperationException in WEbDeploy-gui.exe



I rebooted, uninstalled, downloadeda again... same thing.

http://

April 7. 2004 16:46

Brian - shoot me an email through my contact.

Matt Hawley

April 8. 2004 02:04

Great work Matt.  The read-only option is a real time saver.



One question though, I can't seem to locate the "Exclude Folder" option.  Where is it?



A few bugs i noticed:  Click Deploy, then click the close button.  It starts deploying anyways.  Click cancel and it stops, but the button doesn't change back to "Deploy".  It only does this the first time you run it AFAICT.



The setting "Show Folders To Include Dialog" doesn't seem to do anything.  It still shows the folders whether it's set or not.



Other than that, good job!

http://

April 8. 2004 02:17

One other issue.  At least once I've received an exception in the profile configuration.  I was unable to duplicate it.  Also, on several occasions when I shut down the application, the window closes but the process stays running in memory.

http://

April 8. 2004 04:52

I'll look into them, keep the bugs coming!

Matt Hawley

April 9. 2004 19:09

You didn't answer my question Smile



Where is the "Exclude Folders" option?  I can't find it.

http://

April 9. 2004 19:15

You'll need to configure your profile.

Matt Hawley

April 13. 2004 19:43

I did configure the profile, I can't find any setting for excluding folders.  On what dialog should it appear?

http://

April 13. 2004 20:53

It should be with all the other checkboxes on the first profile config screen. Are you sure you're running 1.8 or 1.8.1 ?

Matt Hawley

April 14. 2004 23:01

Ahh.. Ok, I think I misunderstood the feature.  I thought you meant that you could configure which folders to include and persist that.



The Show Folders To Include dialog allows you to unselect foldres, but this doesn't seem to persist.

http://

April 14. 2004 23:04

Nope, it sure doesn't. Mainly because you can change your source from time to time.

Matt Hawley

April 26. 2004 20:22

If you hit deploy on a project and then hit Show Log you recieve the following error.



Here is the full thing.



************** Exception Text **************

System.IO.IOException: The process cannot access the file "C:\Program Files\WebDeploy\DeployeLOG.wdlog" because it is being used by another process.

   at System.IO.__Error.WinIOError(Int32 errorCode, String str)

   at System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access, FileShare share, Int32 bufferSize, Boolean useAsync, String msgPath, Boolean bFromProxy)

   at System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access, FileShare share, Int32 bufferSize)

   at System.IO.StreamReader..ctor(String path, Encoding encoding, Boolean detectEncodingFromByteOrderMarks, Int32 bufferSize)

   at System.IO.StreamReader..ctor(String path)

   at eWorld.Apps.WebDeploy.995ed0692c6a073d..ctor(d49f21b461104655 config)

   at eWorld.Apps.WebDeploy.210ff09a2516b1a7.e97dda61ecc49717(Object e0292b9ed559da7d, EventArgs fbf34718e704c6bc)

   at Reflector.UserInterface.CommandBarControl.OnClick(EventArgs e)

   at Reflector.UserInterface.CommandBarControl.PerformClick(EventArgs e)

   at Reflector.UserInterface.CommandBar.PerformClick(CommandBarItem item)

   at Reflector.UserInterface.CommandBar.WndProc(Message& message)

   at System.Windows.Forms.ControlNativeWindow.OnMessage(Message& m)

   at System.Windows.Forms.ControlNativeWindow.WndProc(Message& m)

   at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)





************** Loaded Assemblies **************

mscorlib

    Assembly Version: 1.0.5000.0

    Win32 Version: 1.1.4322.573

    CodeBase: file:///c:/windows/microsoft.net/framework/v1.1.4322/mscorlib.dll

----------------------------------------

WebDeploy-GUI

    Assembly Version: 0.8.1.0

    Win32 Version: 0.8.1.0

    CodeBase: file:///C:/Program%20Files/WebDeploy/WebDeploy-GUI.exe

----------------------------------------

System.Windows.Forms

    Assembly Version: 1.0.5000.0

    Win32 Version: 1.1.4322.573

    CodeBase: file:///c:/windows/assembly/gac/system.windows.forms/1.0.5000.0__b77a5c561934e089/system.windows.forms.dll

----------------------------------------

System

    Assembly Version: 1.0.5000.0

    Win32 Version: 1.1.4322.573

    CodeBase: file:///c:/windows/assembly/gac/system/1.0.5000.0__b77a5c561934e089/system.dll

----------------------------------------

CommandBar

    Assembly Version: 2.0.0.0

    Win32 Version: 2.0.0.0

    CodeBase: file:///C:/Program%20Files/WebDeploy/CommandBar.DLL

----------------------------------------

System.Drawing

    Assembly Version: 1.0.5000.0

    Win32 Version: 1.1.4322.573

    CodeBase: file:///c:/windows/assembly/gac/system.drawing/1.0.5000.0__b03f5f7f11d50a3a/system.drawing.dll

----------------------------------------

WebDeploy.Common

    Assembly Version: 0.8.1.0

    Win32 Version: 0.8.1.0

    CodeBase: file:///C:/Program%20Files/WebDeploy/WebDeploy.Common.DLL

----------------------------------------

System.Data

    Assembly Version: 1.0.5000.0

    Win32 Version: 1.1.4322.573

    CodeBase: file:///c:/windows/assembly/gac/system.data/1.0.5000.0__b77a5c561934e089/system.data.dll

----------------------------------------

System.Xml

    Assembly Version: 1.0.5000.0

    Win32 Version: 1.1.4322.573

    CodeBase: file:///c:/windows/assembly/gac/system.xml/1.0.5000.0__b77a5c561934e089/system.xml.dll

----------------------------------------



************** JIT Debugging **************

To enable just in time (JIT) debugging, the config file for this

application or machine (machine.config) must have the

jitDebugging value set in the system.windows.forms section.

The application must also be compiled with debugging

enabled.



For example:



<configuration>

    <system.windows.forms jitDebugging="true" />

</configuration>

http://

May 13. 2004 01:40

Great utility! I use a different web.config file locally to what I use on the production server, it would be great if I could pick a .config file for a profile and have it automatically renamed to web.config when it's deployed.

William Bartholomew

May 13. 2004 15:12

William,



You can inheritely do this -



1. Modify your profile to show the files to be copied prior to copying them.

2. Add a extension that you use for your common config files.

3. Start deployment, and a new window will be opened up where you can choose which files you want to include. At this point, de-select which config files you don't want to be copied. Also at this point, you can rename the 1 config file that you wish to be copied to Web.Config.

4. Continue with the transfer process and the appropriate config file is written as web.config



Smile

Matt Hawley

May 14. 2004 16:34

Love the deploy tool. We had been using something similar here at work that we built but I'm giving yours a try for a while.



One thing I find useful that we have incorporated, is the ability to only deploy files that have been updated since a date/time. Makes a nice quick deploy to customers when I'm working through a slow VPN.



http://

May 14. 2004 16:37

Don't fret Richard, thats available on a per profile basis Smile

Matt Hawley

May 19. 2004 19:27

Hi MAtt



Love the tool... one thing... though I put a path into the FTP profile, it chooses to dump it in the FTP root... Using .81, and specified dir as www/thedir or www\thedir

http://

May 19. 2004 22:05

Nice!

A little bug with the command line version:

The /s switch does not work if it ends with a backslash. VS.NET post build event macros, $(ProjectDir) for an example, ends with a backslash.



v0.8.1.0, and I'm not specifying a profile (/p)



I hardcoded the paths, as a workaround.

http://

June 4. 2004 12:04

First of all a great thanks for this wonderful program. I just dowloaded it yesteday and found it very nice.

Now a few suggestions / requests:

- When you start deploying (click Deploy) there no way to cancel the action. If you close the window by clicking the X it just continues. I think a cancel button is needed here



- Exclude files/folder. While you can just deselect the files and folders you don't want to deploy it would be very nice if this feature could be a part of the profile, as the file extensions are. If not the automation is very hard because you don't have control over what files/folder exclude.



- That last one is just to make the perfect tool. Provide a help file both form UI and unatended versions.



Thanks again

Vicenç Masanas

June 7. 2004 00:19

Steve Celius,



I just got around to testing your submission, and it seems to be a problem with how arguments are determined. It's passing in a double quote because of \" in the string. Could this be a problem with .NET or the console, probably, but it is (unfortunately) something I cannot handle.

Matt Hawley

Comments are closed

Copyright © 2000 - 2024 , Excentrics World