regsvr32: Replace printf calls with WriteConsole function (try 2)
Hugh McMaster
hugh.mcmaster at masterindexing.com
Sun Mar 30 19:14:47 CDT 2014
On Sunday, 30 March 2014 7:49 AM, Lauri Kenttä wrote:
> Hugh McMaster wrote:
> > - printf("\t[/i] Call DllInstall passing it an optional [cmdline];\n");
> > - printf("\t when used with /u calls dll uninstall\n");
> > +\ [/i] Call DllInstall, passing an optional [cmdline].\n\ \tWhen
> > +used with [/u], regsvr32 also calls DLL Uninstall.\n\
>
> This whole "calls DLL Uninstall" thing is a bit weird, as there isn't a function
> named DLL Uninstall or DllUninstall.
The string was simply an updated version of the official regsvr32 dialog:
" /i - Call DllInstall passing it an option [cmdline]; when used with /u calls dll uninstall "
But I agree, as there is no DllUninstall function, updating the text for clarity would be preferable.
> Maybe you should change it to something more exact like:
> "When used with [/u], " +
> 1) "passes [also] the uninstall flag [to DllInstall]"
> 2) "uses DllInstall to uninstall the DLL"
These better capture the essence of the " regsvr32 /u /i ... " command.
> 3) "the bInstall parameter is set to FALSE"
> 4) "calls DllInstall with bInstall set to FALSE"
Both examples are good, but may cause confusion as the Boolean bInstall is not referenced anywhere else in the usage dialog.
> If this is too radical, I'd suggest that you at least remove the "also".
> With my English, it now says that regsvr32 /i /u calls DllInstall and also calls DLL
> Uninstall, which is clearly neither true nor logical. (It really calls UnregisterDll
> and DllInstall(FALSE,cmdline).) In addition, repeating "regsvr32" looks strange
> to me in this kind of context.
Fair point. Using your examples as a starting point, what do you think of the following options:
(1) Call DllInstall, passing an optional [cmdline]. When used with [/u], passes an uninstall flag to DllInstall.
(2) Call DllInstall, passing an optional [cmdline]. When used with [/u], an uninstall flag is passed to DllInstall.
(3) Call DllInstall, passing an optional [cmdline]. When used with [/u], uses DllInstall to uninstall the DLL.
(4) Call DllInstall, passing an optional [cmdline]. When used with [/u], the bInstall parameter of DllInstall is set to FALSE.
For the record, I'm favouring options (3) and (4).
More information about the wine-devel
mailing list