Hi,

On Sun, 27 Jan 2008, Kirill wrote:

> This is an implementation of TODO "Need to not hard-code the dll path"

Nice!

> Registration is implemented in somewhat hackish way:
> - not all required keys are created, only minimal set to register DLL
>   at non-hard-coded location; install.reg is still required;

Should not all of install.reg be converted in one go, rather than only a 
few?

For that matter, can you pass command line options when registering the 
.dll?

> - not all created keys are removed, namely CLSID\{ca586...};
>   for full clean up, uninstall.reg is still required.

Same here...

> diff --git a/dll.c b/dll.c
> index bab9d9a..bce60c8 100644
> --- a/dll.c
> +++ b/dll.c
> @@ -1,4 +1,6 @@
>  #include <shlobj.h>
> +#include <assert.h>

Rather than assert, I'd prefer the use of debug_git_mbox() and a hard 
exit.

> +#include <stdio.h>

Do you use it?

> +// as per "How to: Convert Between System::Guid and _GUID"
> +static void get_registration_path (char *string)

Two general style comments... Since this is pure C, why not do the same as 
git.git and stick with /* ... */ comments?  Likewise, the space between 
function name and paren is not like git's source code.

(Yeah, I am a bit biased here, but it makes things easier for people 
 hacking both on git and cheetah.)

> +     char path_to_value[MAX_PATH]; // more than necessary for registry
> key

There's a line wrap here.  You are sending via GMail's web interface, 
right?

As for the registry keys to be set/unset, I imagine that a key/value array
would be needed; however, this is not as trivial as it sounds, since we 
have different settings depending on the mode we wish to install: for all 
users, for one user, or debugging settings.

That's basically the reason why I left this for a later stage...

Ciao,
Dscho

Reply via email to