Saltar al contenido

Ejecutar como administrador: requireAdministrator & ClickOnce + emulando la hora del sistema

No olvides que en las ciencias un problema casi siempre tiene varias soluciones, por lo tanto compartimos la mejor y más eficiente.

Solución:

En realidad, no puede ejecutar la aplicación ClickOnce con privilegios administrativos, pero hay un pequeño truco, puede iniciar un nuevo proceso con privilegios de administrador. En App_Startup:

if (!IsRunAsAdministrator())

  var processInfo = new ProcessStartInfo(Assembly.GetExecutingAssembly().CodeBase);

  // The following properties run the new process as administrator
  processInfo.UseShellExecute = true;
  processInfo.Verb = "runas";

  // Start the new process
  try
  
    Process.Start(processInfo);
  
  catch (Exception)
  
    // The user did not allow the application to run as administrator
    MessageBox.Show("Sorry, this application must be run as Administrator.");
  

  // Shut down the current process
  Application.Current.Shutdown();


private bool IsRunAsAdministrator()

  var wi = WindowsIdentity.GetCurrent();
  var wp = new WindowsPrincipal(wi);

  return wp.IsInRole(WindowsBuiltInRole.Administrator);

Leer artículo completo.

Pero si desea una solución más nativa y sencilla, simplemente pídale a un usuario que ejecute Internet Explorer como administrador, la herramienta ClickOnce también se ejecutará con derechos de administrador.

El tiempo es una cosa de todo el sistema, no puede cambiarlo solo para su proceso. La única forma de mentirle a sus dependencias es enganchar la API, usando Detours o algo similar. No permitido si eres una cuenta de usuario baja.

Modificar la hora requiere los privilegios “Cambiar la hora del sistema” y/o “Cambiar la zona horaria” (que normalmente se otorga a la cuenta de Administrador).

Y como mencionó @Chris, el administrador y ClickOnce no son compatibles.

Correcto: ClickOnce no puede operar con privilegios de administrador. De hecho, está diseñado para no hacerlo.

Comentarios y valoraciones del artículo

Al final de la artículo puedes encontrar las interpretaciones de otros sys admins, tú todavía tienes el poder insertar el tuyo si lo crees conveniente.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *