![]() |
Web Development »
Applications & Tools »
Tools with source code
Intermediate
License: The Creative Commons Attribution-ShareAlike 2.5 License
ProjectZip Remoded 1.6 - A '3-in-1' tools package for zipping VC6 and .NET workspace and project filesBy .dan.g.Zip your VC6 and .NET workspace and project files using a Standalone Executable, an Explorer shell extension or an updated VC6 Addin |
VC6, VC7, VC7.1Win2K, WinXP, Win2003, MFC, Dev
|
|
Advanced Search Add to IE Search |
|
|
|
||||||||||||||||
Downloads

I should like to extend my sincere thanks to all those for mailing me reminders about the .NET port of ProjectZip which I had 'promised' to write following the initial interest in the VC6 addin.
I had hoped the issue would quietly go away as my early forays into .NET addin-writing did not fill me with enthusiasm. Additionally there was the problem of .NET 2002 addins not being compatible with .NET 2003 which left me feeling that a .NET port was a can of worms that I really did not want to open, let alone plunge my hands into!
Nevertheless, a promise is a promise, and I'm fairly honourable if nothing else, so I vigorously thought of alternatives that might satisfy the .NET community without requiring an actual .NET port.
There was also some unfinished work relating to being able to zip entire workspaces and not just the active project that prompted me to get on and finish the job, which I think I now have (more or less).
The result is a '3-in-1' solution - three tools with the same core functionality - providing a multiplicity of ways to zip a workspace or project file for Visual Studio 6 and all versions of Visual Studio .NET.
The way I've re-architected the core functionality should also allow it to be extended to support project files from other development environments such as Borland C++, Delphi and Visual Basic.
This is one of two solutions for .NET users, although it can also be run directly from explorer, or more likely from the Quick-Start-Bar (or whatever it's called).

Apart from a filename on the commandline, the executable also accepts the following parameters:
The filename can have the one of following extensions when zipping:
and .zip when unzipping.
If you pass no parameters except a filename then the assumption is that you want to zip the file.
If an inappropriate file is passed on the commandline then you will just get the options dialog
And finally, if you run the executable with no commandline (i.e. from explorer) then you will be prompted to browse for the file you want to zip.
This is the second solution for .NET users, although it may also become the prefered option for VC6 users since it does not require VC6 to be run.

To install all you have to do is:
regsvr32 "<path>\ProjectZipShExt.dll"
Then whenever you right-click on a VC6/7 workspace or project file in explorer you will have the option to zip that file.
Note: at present you always get the options dialog because I wanted to limit the number of menu items that get added to the explorer context menu.

This has been substantially re-written to support the re-architected core functionality and now sports 5 buttons instead of the original 3. The two extra buttons allow the zipping of entire workspaces rather than just the active project.
The two forms - Workspace and Project - are denoted by 'W' and 'P' on the buttons.
I've also removed the restriction on having to have a workspace or project open to use the addin. Instead, if the current Workspace or Project cannot be determined, you will be prompted to browse to the file you want.
To install and use the addin:
Note: Apologies to existing users for renaming the addin but with 3 projects all providing similar services I had to differentiate between them.
The following diagram (drawn with CodePlotter � AbstractSpoon 2003) shows the architecture of the core functionality of the ProjectZip toolset.
{{DIAGRAM_START
: ProjectZip Core Functionality Architecture
.------------------.
|CProjectZip6 |
|__________________|
| |
|overides virtual m|
|ethods to provide |
|parsing of the dsp|
| and dsw files |
-------->------------------�
|
.-------------. .------------------^.
|IProjectZip >---->CProjectZipBase >------>------------------.
|_____________| |___________________| |CProjectZip7 |
| | | | |__________________|
|pure virtual | |contains generic zi| | |
| interface | |p code with key met| |overides virtual m|
�-------------� |hods declared as pu| |ethods to provide |
|re virtual to handl| |parsing of the vcp|
|e different file fo| |roj and sln files |
|rmats | �------------------�
�------------------v�
|
-------->------------------.
|Other Formats... |
| |
| |
�------------------�
}}DIAGRAM_END
This architecture affords me a number of benefits:
If you don't use Visual Studio and would like to develop parsers for the particular development system you do use then I would be happy to answer any questions you may have and provide guidance on what would need to be done.
The code is supplied here for you to use and abuse without restriction, except that you may not modify it and pass it off as your own.
General
News
Question
Answer
Joke
Rant
Admin
|
PermaLink |
Privacy |
Terms of Use
Last Updated: 31 Mar 2004 Editor: Barry Lapthorn |
Copyright 2003 by .dan.g. Everything else Copyright © CodeProject, 1999-2009 Web17 | Advertise on the Code Project |