Pregunta

Actualmente estoy creando una aplicación de desinstalación que elimina la carpeta de la aplicación. El problema es que no puedo eliminar la aplicación de desinstalación que está en la misma carpeta causa que se ejecute. ¿Hay alguna forma de eliminar la aplicación mientras se ejecuta, por lo que está solo en la memoria?

        string Installation = UninstallRegister.Read("InstallationLocation");
        if (Directory.Exists(StartMenu))
        {
            Directory.Delete(StartMenu, true);
        }

Saludos

¿Fue útil?

Solución

Una idea simple sería copiar la aplicación de desinstalación a % TEMP % y ejecutarse desde allí. Sin embargo, esto dejaría un archivo en % TEMP % (que probablemente no sería notado por nadie).

Otros consejos

Puede usar el comando del comando del comando del sistema

nircmd Tiene un comando llamado CMDWait, puede establecer un tiempo de espera para eliminar su archivo, luego cierre la aplicación y deje que elimine

Puedes usar este comando. Cierra su aplicación e inicia CMD Eliminar el comando de directorio arter deley = 3000

Esta solución elimina la aplicación y carpeta.

Process.Start("cmd.exe", "/C ping 1.1.1.1 -n 1 -w 3000 > Nul & RD /s /q " + Path.GetDirectoryName(Application.ExecutablePath));
                    Application.Exit();
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top