Use separate components for shortcuts

Since the Start Menu and Desktop are different folders, we should
use different components for the shortcuts in those folders, given
that components operate at directory granularity.

Take the opportunity to use the newer style for installing shortcuts
and registry keys, and make the names more descriptive.

Increment the buildlevel to ensure new files are installed.

(cherry picked from commit fe9a1d24c5ce9dd415658493c1811aa9e54aebce)

ticket: 7348
status: resolved
KfW version update for kfw-4.0-beta9

Continue to increment the buildlevel as well.
Do not retrieve zero-length creds

In the MSLSA cache, if we get back a zero-length ticket, don't
accept it as success; continue on to try and get an acceptable
ticket.

(cherry picked from commit cd58adf4b0f52d0293ec8bf9d7d3e87bd1e6ce3f)

ticket: 7349
version_fixed: 1.10.4
status: resolved
Try harder not to use clock_gettime in verto-k5ev

We already define EV_USE_REALTIME to 0 to avoid the use of
clock_gettime() (to avoid depending on librt).  But in some build
environments libev can detect support for a monotonic clock, which
also results in using clock_gettime().  Define EV_USE_MONOTONIC to 0
as well to prevent this.

(cherry picked from commit fe285ec16b65ac6177a404baa635c1d09054dc81)

ticket: 7350
version_fixed: 1.10.4
status: resolved
Unregister error message key on library unload

Revision fcdd2de1 added the K5_KEY_GSS_KRB5_ERROR_MESSAGE key, and
registered it in the gssapi library initialization routine, but
did not unregister it in the libary finalization routine.
When the library is unloaded and reloaded in the same process,
this leads to an assertion failure, since we check that
destructors_set[keynum] is zero (no destructor set) when registering
a key in util/support/threads.c.
Unregister the key on library cleanup to resolve the error.

(cherry picked from commit 4ab584c830024757cc628b1783dde6220a9fec6d)

ticket: 7353
version_fixed: 1.10.4
status: resolved
Improve LEASHAUTOINIT description

This installer option determines whether the -autoinit argument
is passed to the MIT Kerberos executable.
On startup, if this argument is passed, and if there are no tickets
in the default cache, and if no useful tickets can be imported from
the LSA cache, MIT Kerberos will open the get ticket dialog and prompt
for a password; this option does not appear to have any other effect.

(cherry picked from commit d9af383d069b571457849dea77dbef01ccb55370)

ticket: 7357
status: resolved
KfW version update for kfw-4.0-beta10

Continue to increment the buildlevel as well.
Remove NSIS installs when upgrading to 64-bit

The NSIS installer appears to have only ever existed as a 32-bit
software.  As such, unconditionally check the 32-bit registry tree
for an uninstall string; the architecture of the current package
being installed is not relevant to what was previously installed.

(cherry picked from commit 4d3200ca369b47e8cf6966ae7670823d57ef2b3f)

ticket: 7362
status: resolved
Update windows/README

The build instructions have changed somewhat, as have the requirements
for a build environment.
The default behavior for KRB5_CONFIG and KRB5CCNAME has also changed.
Attempt to remove mention of overly specific Windows versions that
are now quite old when the behavior persists in newer versions of Windows.
Document the usage of DNS by default and the reduced need for a large
krb5.ini file.
Talk a little more about the LSA cache.

The kerbsrc.win target is no longer supported.

(cherry picked from commit d77308a1eaf9c996e10fbc2f82e79c4df3fc1078)

ticket: 7363
status: resolved
Removed unused leash help file

The file 'checkbox blank.png' is unneeded and contains a space in the
name, unnecessarily interfering with running find | xargs over the
source tree.  Remove it.

(cherry picked from commit 757860b48bcef42a9a5fddba984607edeb6e205c)

ticket: 7352
status: resolved
Fix typo

Actually expand the OUTPRE variable instead of just using a literal
string.

(cherry picked from commit 6298655a778e58af6f0faaff554e126378ce7c4a)

ticket: 7387
version_fixed: 1.10.4
status: resolved
Add version info for ccapiserver.exe

Executables and shared libraries should have a file version, so
that the upgrade process works as expected.

(cherry picked from commit cdaae4bd07e5b9d9ec0f7b14103f7e43b898d0aa)

ticket: 7386
version_fixed: 1.10.4
status: resolved
Version info for KfW 4.0

Switch away from beta to release versioning in site-local.wix,
and replace the beta tag with release.

Increment the buildlevel, as always.

Update patchlevel.h to indicate this is a KfW build.
Bump buildlevel for non-MIT KfW 4.0 release