I don't think there is anything wrong with the C# approach, it's use is
common enough that dependency issues shouldn't be too bad. It might
be advisable to use an older version such as C# 2005 express so your
dependency is to the older .NET 2.0 runtime which is bound to have
already ended up on the system for some time.
Regarding Vista / W7 security, it's not so draconion and not even
strictly speaking a security feature (it affects everyday usage more
than it hinders malicious attackers). Its main purpose is to make it
annoying to work with software which requires administrator
privileges, to force developers to write better software. So that
in the future it may actually be feasible to work with a normal
user account, which in turn increases security.
If you can avoid the need for administrative privileges, that
is the preferred way. Otherwise, the recommendation is to split
the application into an normal usage executable and a separate
configuration executable (almost like winsetup.exe except that
the latter just calls ... ). The configuration executable will then
required administrator privileges and it should contain a
manifest which states so (this means it will automatically
ask for elevation when started, without the need for
the user to right-click and use run as).
common enough that dependency issues shouldn't be too bad. It might
be advisable to use an older version such as C# 2005 express so your
dependency is to the older .NET 2.0 runtime which is bound to have
already ended up on the system for some time.
Regarding Vista / W7 security, it's not so draconion and not even
strictly speaking a security feature (it affects everyday usage more
than it hinders malicious attackers). Its main purpose is to make it
annoying to work with software which requires administrator
privileges, to force developers to write better software. So that
in the future it may actually be feasible to work with a normal
user account, which in turn increases security.
If you can avoid the need for administrative privileges, that
is the preferred way. Otherwise, the recommendation is to split
the application into an normal usage executable and a separate
configuration executable (almost like winsetup.exe except that
the latter just calls ... ). The configuration executable will then
required administrator privileges and it should contain a
manifest which states so (this means it will automatically
ask for elevation when started, without the need for
the user to right-click and use run as).