AxCrypt Source Code Distribution 1.6b3.2 or later
-------------------------------------------------

READ THIS! AxCrypt depends on a number of components to build, and can be complicated to debug.

Version Requirements
--------------------

- Visual Studio 2005 SP1
- Windows Vista SDK or later (NOT included with Visual Studio - You MUST install this)
- NSIS 2.34 or later

About Windows Vista SDK
-----------------------

You MUST download an updated Windows SDK, at least Vista-level, which is what is tested.

At the time of writing, the SDK was avilable at http://msdn2.microsoft.com/en-us/windowsvista/aa904955.aspx, under the name "Windows SDK Update for Windows Vista".

Integrating SDK with Visual Studio
----------------------------------

When you have installed the SDK, you MUST also updated Visual Studio paths. There's a start-menu option for this after you have installed the SKD, named something like 'integration with Visual Studio 2005'. If you have installed the Server 2008 SDK, this is not there, and the instructions don't work. Run ingtegration manually with "WindowsSDKVer -version v6.1 -legacy".

About NSIS
----------

NSIS is available at http://nsis.sourceforge.net . The source code assumes that this is installed in %ProgramFiles%\nsis . If you install in another location, you need to modify the custom build steps in the 'Setup' project (at least, not tested).

NSIS UAC Plug-in
----------------

To handle Vista User Account Control, a NSIS plug-in is required. At the time of writing it was to be found at http://nsis.sourceforge.net/UAC_plug-in (version 0.0.7b). You must copy UAC.dll into C:\Program Files\NSIS\Plugins and UAC.nsh into C:\Program Files\NSIS\Include for the setup project to build.

Debugging AxCrypt
-----------------

AxCrypt is hard to debug, because all action is done in a background resident process. The best way to debug core AxCrypt is to F5 start a resident process with no command arguments. You also need to ensure that you actually start the image that is copied to the Package\Debug folder by the Package project, because the AxCrypt image is dependent on other files that need to be there.

Debugging the AxCrypt Shell Extension
-------------------------------------

The Shell extension is even harder to debug. You need to ensure that the registry is setup correctly, you do this by  first building the 'Package' project in debug mode. Start a command prompt and go there. Run first 'AxCrypt -u' to uninstall any current settings. Then run 'AxCrypt -i' from that directory to setup the registry correctly. You will now have basically corrupted your 'real' AxCrypt installation if you had one... You should be able to restore it by going back to the original folder and running 'AxCrypt -u' and 'AxCrypt -i' there.

The shell extension is a DLL loaded by Windows Explorer, explorer.exe. So you must attach to 'explorer.exe', then you can debug the shell extension.

You can also setup 'explorer.exe' as the image to launch for debugging, and then kill Windows Explorer using the Task Manager, and then F5 run your project.

This is not a Shell Extension tutorial, search the net for more info.


Running Visual Studio on Vista
------------------------------

To attach to an existing process, you need to start Visual Studio as Administrator. Running and debugging AxCrypt including the Shell Extension requires some understanding of how these components work - and even more so with Vista User Account Control in effect. This is not a Vista development tutorial, you're on your own - but beware, there be dragons here. Big fiery ones...
