Vlad"s Software Development Toolbox

Saturday, 4 April 2009

New Version Check - V1.4

Free Download

EnvMan-1.4-RC1.zip
SHA1 HASH: A9A517EA9F19B8E49FB07387FB0B7C9E15084C1D
EnvMan-source-1.4-RC1.zip
SHA1 HASH: 54E8C5C591578CECAC9CDB108DF7333AEE52C5FB

Summary

  • BT1795598 Auto Updates Manager
    • Implemented Automated Updates Manager notifications
    • Added connection through Proxy server for Automated Updates Manager
    • Added version display for Beta versions
    • Added Settings screen to control Proxy settings and number of instances
  • BT2023866 Saving Variables changes registry variable type 
    • Added handling of extensible variables
    • Fixed Variable Type Validation
    • EnvMan allows only one running instance

Functionality Changes

EnvMan 1.4 release candidate 1 is ready for download. The main change in the release is fix for extendable variables.

ExpandableVariable

Now it is possible to use ‘%’ notation to specify that variable is extendable. The Tool Tip it will expand a value to show the full path.

NewVersionNotify

Added new version notification check. Every time program starts, it tries to check if now version is available and notification appear as part of the menu. By clicking on the notification menu it will open a new version download page.

NewVersionNotifyMenu

It is also possible manually check for a new version by selecting ‘Check for Updates…’ in the Help menu. New version notification will be shown as a message box with option to download.

NewVersionNotifyMsgBox 

Added Settings dialog to control how many instances of EnvMan can run and Proxy Server settings for Release Checker.

SettingsPage1 SettingsPage2

In case of network problem error will be shown as status bar notification or message box.

NetworkError

NetworkError1

Sunday, 22 March 2009

Integrating PartCover with Visual Studio 2005

To help myself with developing unit tests and have a control over which parts of the code get executed I decided to add code coverage tool to a collection of Third-party tools. I looked at NCover, TestDriven.Net and PartCover. My choice is stopped on PartCover. This is an open source code converge tool and very much similar to NCover. I missed the ability to run it directly from Visual Studio like TestDriven.Net runs NCover so I looked around and found a way of integrating it into Visual Studio 2005. Unfortunately there is no way of running PartCover code explorer along with PartCover report generator and NUnit in the single command so I had to write PartCover.cmd batch script to combine execution of these tools. Below is a sample content of that file. If you are using EnvMan source code please check out PartCover from ThirdParty in SNV.

PartCover.cmd

REM === Start PartCover.cmd ===
"C:\Path\To\PartCover\partcover.exe"--target "C:\Path\To\NUnit\nunit-console.exe"--target-work-dir %1 --target-args %2 --output %1\partcover.xml --include %3

"C:\Path\To\PartCover\PartCover.Browser.exe" %1\partcover.xml
REM === End PartCover.cmd ===

Integrating PartCover with Visual Studio 2005

To integrate PartCover with Visual Studio select menu Tools\External Tools ...
In the External Tools Dialog box click Add and enter the following data in the fields.

Title:

Part Cover

Command:

C:\Path\To\PartCover\PartCover.cmd

Arguments:

$(ProjectDir)\bin\Debug
$(ProjectDir)\bin\Debug\$(TargetName)$(TargetExt)
[*Assembly Regular Expression*]*

Initial Directory:

$(ProjectDir)\bin\Debug


Tick Use output Window and Prompt for Arguments. Click OK

Running PartCover

To run PartCover select EnvManTest project and use Part Cover from Tools menu. Because we ticked "Prompt for Arguments" the following dialog box appears.

Replace "Assembly Regular Expression" with "EnvMan" so it looks like this [*EnvMan*]*. Please look at PartCover documentation for more details about regular expressions. After OK is clicked output window of Visual Studio will show a progress of the coverage test and Part Cover Code Browser window will appear. At the moment it will not show any code until we open generated partcover.xml report file.

Wednesday, 11 June 2008

Developer's Getting Started Guide

I would like to thank you for interest in contributing to this project as a developer. This is a guide to help you get started as quickly as possible with all relevant information and resources.

Requirements

  • Visual Studio 2008 [Express] (Yes. I have just made conversion of projects to VS 2008 and this will be the future development IDE)
  • Visual Studio 2005 [Express]. Use a corresponding solution file to open a project.
  • SVN or TortoiseSVN

Subversion

All source code is located at SourceForge SVN address https://env-man.svn.sourceforge.net/svnroot/env-man.

Directory structure

SVN directory structure is shown below. Trunk is the main point of integration between development code in branches. EnvMan    - branches    - tags    - trunk ThirdParty    - NUnit    - PartCover All development is happening at branches. So if you are interested to work on one of the feature requests listed at SourceForge tracker or have your own idea or suggestion, a new copy of the trunk will be created at branches for this work. Thought, before starting anything, ask at Development Forum for direction.

Local Development Directory

On the development computer the following directory structure need to be created to limit the need of project changes and references. This directory structure can be located on any drive or folder. I put my development in folder called Dev and all related projects under it. So we create a structure below. Dev    - EnvMan       - BT00XXX_Feature1       - EnvMan 1.2       - ...       - trunk    - ThirdParty       - NUnit       - PartCover As you can see all development directories under branches in SVN on the local computer are located in EnvMan along with trunk. This is done to keep all references between trunk and branches the same. All test projects reference NUnit Framework dll located in ThirdParty\NUnit\bin.

Start Coding

Now we can fire up Visual Studio 2008 or 2005 and make a full build of the project. If you want to quickly build a whole project without running Visual Studio there are build batch files that use msbuild tool to make a full build. Enjoy!

Resources

General Coding/Programming Forum SourceForge Bug Tracker Integrating PartCover with Visual Studio

Monday, 31 March 2008

EnvMan Forums

Welcome to EnvMan Forums. Feel free to browse through the listings and choose which ones you would like to sign up to receive updates regularly. Here you can leave a feedback, post a bug report, ask a question or join a development team. To subscribe click on Subscribe link and send a blank E-Mail to a list.

EnvMan Discussion

Forum General Discussion & Questions You have a suggestion, question, request or just want to talk about EnvMan. Post your messages to this list. Send Message Subscribe
Forum Troubleshooting & Bug Report You found a bug? Please tell us about it. Send Message Subscribe
Forum Localization Want to have EnvMan in your language? Look in here. Send Message Subscribe

EnvMan Programming / Development

Forum General Coding / Programming Want to ask questions about EnvMan development and/or source code? Post your messages to this list. Send Message Subscribe

Monday, 24 December 2007

Donate

Windows Environment Variables Manager is a free and open source tool aiming to help make usage of computer easier and will stay like this in the future as a gift to online community. By donating you will not only show the usefulness of this program, but also support the future development of it. We would like to ask a minimum donation of $5.00 AU, but any amount is appreciated. Thank you!

PayPal

To donate, click on the PayPal button with preferred country and currency.
AUS $
USD $
EUR €

Privacy

PayPal requires some personal information from you in order to create and establish an account. Some of this info such as your name, e-mail address and donation amount will be send to our PayPal account. We assure that the details of any donation received by our PayPal account will be kept private and never sold or given out to any third party.

Any Questions?

Send email to envmng@gmail.com (English only)

Thursday, 20 December 2007

Save changes on Cancel? - V1.3

Free Download

EnvMan-1.3.zip EnvMan-source-1.3.zip

Summary

  • BT1828033 Escape to Close
    • Added Ctrl+X Shortcut on Main Form Exit File Menu
  • BT843838 Program does not check for changes on Cancel in Edit Form
    • Added checking for user changes and prompt to save it on Cancel.
  • Added Release version display in Main Form Title bar
  • Added colour change for rows with invalid value paths in Main Form
  • Minor GUI Improvements

Functionality Changes

Main Form in this release is checking if any of the variables have invalid file or directory values. Variables with invalid paths are displayed in red. The current release number of the program is displayed in the title bar and "Ctrl+X" shortcut is added to quickly close application from File menu. In Edit Form if Cancel button is clicked after any changes made to a variable. Message asking to save changes is displayed.

Sunday, 14 October 2007

Input Validation - V1.2.1 - V1.2.2

Free Download

EnvMan-1.2.2.zip EnvMan-source-1.2.2.zip

Summary

Release 1.2.2
  • Fixed problem with Delete button on Edit Form.
  • Removed Setup project. It will be replaced by WiX setup.
Release 1.2.1
  • BT1767453 On value edit Undo Redo not recording. Fixed problems when user does not enter text into value cell.
  • BT1792173 Incorrectly detected Value type. Checking that path string is starts with ":\".
  • BT1806716 ERROR: Grid Cell accepts semi colon. Added validation DataGridView in Edit form.

Functionality Changes

I am providing Release 1.2.2 here as V1.2.1 has a bug with delete button I did not catch before posting. Release V1.2.1 has input validation added to a grid. If Variable Value contains ";" then grid will display and error mark.

Thursday, 11 October 2007

Tip: Running Windows Environment Variables Manager on Vista

To use EnvMan under Vista it should be run with an Administrator privileges. To make it run as Administrator by default open properties of the EnvMan.exe or a shortcut to it.

Select compatibility tab and check "Run this program as an Administrator" check box.

If you want to apply this setting to all users click on "Show settings for all users button" and check "Run this program as an Administrator" check box.

Click OK on every dialog. Now EnvMan.exe will have all the rights to save environment variables. This applies to all versions of the EnvMan.

Wednesday, 3 October 2007

Variable Import/Export - V1.2

Free Download

EnvMan-1.2.zip EnvMan-source-1.2.zip

Summary

  • Implementation of Import/Export variable values functionality (BT1709867)
  • Implementation of Locate/Open in Windows Explorer Edit Form Grid context menu (BT1729869 - Implemented by PRANKENST!EN)
  • Upgraded licence to GPL Version 3

Functionality Changes

Variable Import/Export

There are two new buttons on the top right of the Edit Form. Variable values can now be exported to an *.env XML file and imported on the different computer or user. The only restriction is that you cannot import values from the different variable. If variable name does not match it will not import and will display a message. It is also possible to create new variables using import. Open new variable by clicking "New" on the Main Form and use import button to import values from selected ENV file. Name of the variable will be loaded as well.

All imported values will have a "+" sign on their type icons.

Open in Explorer context menu

New context menu added to a grid in Edit Form. If right click on the path value of the variable and select "Open in Windows Explorer" it will launch Windows Explorer with first valid folder or file selected. If command used on the non-path value then message will be displayed that no valid paths can be selected.

Tuesday, 26 June 2007

Tip: Working with generic SortedList in revers order

It was very interesting, but I could not find any information on how to work with lists like Generic SortedList<> in revers order. In the end all turned out very simple. You need to get a IList<> of keys and use for loop in descending order through that list. Below is a code snippet.

SortedList<int,DgvRowInfo> rowInfoList = null;
...
DgvRowInfo rowInfo;
// walk through the list in revers order
IList<int> keyList = rowInfoList.Keys;
for (int i = keyList.Count - 1; i >= 0; i--)
{
rowInfo = rowInfoList[keyList[i]];
dgvHandler.MoveRow(rowInfo.CurrentRowIndex, rowInfo.NewRowIndex);
}

Monday, 11 June 2007

Remember Row Position in the Grid - V1.1.2

Free Download

EnvMan-1.1.2.zip EnvMan-source-1.1.2.zip

Summary

Implemented fixes suggested by Code Project users.
  • Fixed reloading of Main Form on Row double click
  • Added remembering current row and setting it visible after reloading
  • Set Buttons State happens on Data Grid View current selection change
  • Fixed row deletion when user hits delete key on keyboard

Functionality Changes

  • Added Help Menu new entries.
  • Added credits box in About box
  • Modified CleanAll.bat to work with new projects
  • Added automated build of Setup project

Thursday, 7 June 2007

Tip: Versioning for EnvMan

I decided to drop off the 4th digit from the version number and stick to A.B.C format. “A” will be representing current program version. “B” is a version with new implemented feature. “C” is a version of the published fixes.

The future EnvMan release will be 1.2 with dropped 0 at the end. Any following fixes for a 1.2 release will be published with 1.2.x version.

The fixes for a current 1.1.1.0 release will be in 1.1.2 release

Saturday, 2 June 2007

Tip: Resolving file corruption error in settings file

I made an interesting discovery when working on saving splitter position into settings file. Initially I was calling SaveSettings function located in EnvManager DLL from EXE before EnvMan is closed. I started encountering file corrupted errors and application was not saving splitter position into a file. The work around was to use HandleDestroyed event of User Control to save settings from the EnvManager DLL. So my lesson was "Never call Settings class located in the different assembly to avoid file corruption errors". I will be interested to know if any one had similar experience when working with settings class and what work around was used to fix a problem.

Thursday, 31 May 2007

Unlimited Undo/Redo - V1.1.1.0

Free Download

EnvMan-1.1.1.0.zip EnvMan-source-1.1.1.0.zip

Summary

  • Implementation of Undo/Redo functionality (Bug Tracker ID: 1705000)
  • Added Tool Tip info for icons in Edit Form

Functionality Changes

Finally implementation of Undo/Redo functionality is done. Using arrow buttons it is possible to undo changes made since Edit Form was opened. Redo button will perform these action again one by one. Keep in mind, if undo button was used and another action is performed then every redo command after that action is cleared. Tool Tip on Undo/Redo button will show what type of action they are going to perform.

Friday, 25 May 2007

Fixed Minimum Form Sizes - V1.1.0.2

Free Download

EnvMan-1.1.0.2.zip EnvMan-source-1.1.0.2.zip

Summary

  • Made single selection in the Edit form grid
  • Set minimum sizes for main and edit forms
  • Fixed bug on renaming variable name

Functionality Changes

While still working on release EnvMan-1.1.1.0, which will include implementation of unlimited Undo/Redo, I decided to provide a small EnvMan-1.1.0.2 release that will include fixes from testing and suggestions. EnvMan-1.1.1.0 is on its way. I am currently implementing few tests before it will be public. Please stay tuned.

Tuesday, 1 May 2007

Interface Improvements - V1.1.0.1

Free Download

EnvMan-1.1.0.1.zip EnvMan-source-1.1.0.1.zip

Summary

  • Fixed alignment of the delete button.
  • Simplified parsing of the variable value string by using string.split function
  • Added settings to save splitter position of the component

Functionality Changes

The changes are related to main form and edit from screens. On the main form the name of the user is shown and splitter position saved when program closed. On edit form position of the delete button corrected and loading of variable values simplified and now a lot quicker.

Friday, 27 April 2007

Variable Value Types - V1.1.0.0

Free Download

EnvMan-1.1.0.0.zip EnvMan-source-1.1.0.0.zip

Summary

  • Added Variable Type recognition in the edit form
  • Added forms location, size and state saving and loading using application settings (Bug Tracker ID: 1705001)

Functionality Changes

This version includes change in the Edit Form contributed by Mariusz. Edit form now shows an icon representing the type of the Value, which are folder, word, number, or a file. Thank you for contributing for the project, Mariusz. This version of the program also remembers the location, size and state the program window was after closing.

Upgrade

If you need to upgrade from earlier version of the program download latest release and than replace corresponding exe and dll files by removing the old ones and installing new versions of files. Thank you everyone who responded to this project affords.

Wednesday, 18 April 2007

Getting Started Guide - V1.0.0.0

Free Download

EnvMan-1.0.0.0.zip EnvMan-source-1.0.0.0.zip

User Guide

Introduction

Windows Environment Variables Manager (EnvMan) is a tool written in C# .Net intended to handle the administration of Windows Shell Environment Variables. It is designed to replace Control Panel System Environment Manager and easily manage long variable values.

Installation

In order to run this program you need to have .Net 2.0 runtime installed. After installing .Net 2.0 runtime download program binaries from the EnvMan Project Website. Unzip EnvMan-x.x.x.x.zip file to where you want and set a short cut to EnvMan.exe file to desktop or start menu. You are now ready to run application. In the future we are planning to offer a choice of Windows Installer (MSI) setups and "ClickOnce" for installations and upgrades.

Getting Started Guide

Windows Environment Variables Manager (EnvMan) has a simple interface similar to common Environment Variables Editing tool in Systems control panel. Main screen lists User and System Environment Variables. "New", "Edit", "Delete" buttons allow create new environment variable, edit existing ones and delete. By clicking "New" and "Edit buttons Edit screen is shown. Enter Variable name and at least one value in the grid to create a new variable. You can use Up/Down arrow buttons on right of the grid to change order of the rows. Folder button allows to select specific path as a value. Delete button removes selected value from the grid. Once you are ready click Save button or Cancel if no change needed. Changes will be reflected in the Main Screen grid.

Tuesday, 17 April 2007

Windows Environment Variables Manager Home

EnvMan-1.3 Free Download

  • BT1828033 Escape to Close
    • Added Ctrl+X Shortcut on Main Form Exit File Menu
  • BT843838 Program does not check for changes on Cancel in Edit Form
    • Added checking for user changes and prompt to save it on Cancel.
  • Added Release version display in Main Form Title bar
  • Added colour change for rows with invalid value paths in Main Form
  • Minor GUI Improvements

Features

  • Simple Interface similar to System Environment Manager in Windows Control Panel. More...
  • Create, Delete and Edit long variable and their values visually with few button clicks
  • Variable values displayed by type and missing files/folders detected. More...
  • Unlimited Undo/Redo for Editing. More...
  • Variable Import/Export. More...
  • Vista compatible. More...
  • Automatic new version update notification. (Planned)
  • Portable EnvMan. (Planned)
  • Import/Export of All System Variables. (Planned)
  • Support for different languages. (Planned)

Requirements

Tips for Developers

Resolving file corruption error in settings file Versioning for EnvMan Working with generic SortedList in revers order Running Windows Environment Variables Manager on Vista Integrating PartCover with Visual Studio 2005

History of Releases and User Guides

Getting Started Guide - V1.0.0.0 Variable value types - V1.1.0.0 Interface improvements - V1.1.0.1 Fixed minimum form sizes - V1.1.0.2 Unlimited Undo/Redo - V1.1.1.0 Remember Row Position in the Grid - V1.1.2 Variable Import/Export - V1.2 Input Validation - V1.2.1 - V1.2.2 Save changes on Cancel? - V1.3