Sé cómo ejecutar una aplicación externa en C# System.Diagnostics.Process.Start(executableName);
, pero ¿qué sucede si la aplicación que deseo ejecutar tiene una extensión que Windows no reconoce como extensión de un archivo ejecutable? En mi caso es application.bin
.Ejecutar aplicación externa sin extensión .exe
Respuesta
clave es establecer la propiedad Process.StartInfo.UseShellExecute
a false
antes de iniciar el proceso, por ejemplo:
System.Diagnostics.Process p = new System.Diagnostics.Process();
p.StartInfo.FileName = @"c:\tmp\test.bin";
p.StartInfo.UseShellExecute = false;
p.Start();
Esto iniciará el proceso directamente: en lugar de pasar por el "vamos a tratar de averiguar el ejecutable para el especificada la extensión de archivo "shell logic", el archivo se considerará ejecutable.
Otra sintaxis para conseguir el mismo resultado podría ser:
var processStartInfo = new ProcessStartInfo
{
FileName = @"c:\tmp\test.bin",
UseShellExecute = false
};
Process.Start(processStartInfo);
Para seguir en la entrada de mdb: esto sólo funciona si usted califica plenamente la ruta de acceso al archivo. Si deja que Windows permita buscar la variable de entorno PATH para el archivo, agregará un ".exe" para cada carpeta que busque.
Lamentablemente, esto es doloroso para el proyecto en el que estoy trabajando, porque la ubicación es completamente dependiente de la RUTA como se establece en un archivo de usuario. Tendré que encontrar el archivo manualmente y establecer la propiedad StartInfo.FileName en una ruta totalmente calificada.
Ah ... Resulta que hay un poco viejo truco DOS puede que para esto: Añadir un solo punto al final del nombre de archivo y Windows buscará el archivo sin una extensión. Establezca StartInfo.FileName = "[appname]". y evitará agregar el ".exe" al final. – Yelnic
Y para seguir desde @yelnic. Trate de usar cmd.exe /C myapp
, lo encontré bastante útil cuando quiero un poco más de Process.Start()
.
using (Process process = Process.Start("cmd.exe")
{
// `cmd` variable can contain your executable without an `exe` extension
process.Arguments = String.Format("/C \"{0} {1}\"", cmd, String.Join(" ", args));
process.UseShellExecute = false;
process.RedirectStandardOutput = true;
process.Start();
process.WaitForExit();
output = process.StandardOutput.ReadToEnd();
}
- 1. ¿Cómo ejecutar la aplicación de escritorio C# con la extensión .exe en Mac OSX?
- 2. ¿Iniciar una aplicación externa desde una extensión de Google Chrome?
- 3. Ejecutar un script de Perl en Windows sin extensión
- 4. Configurar IIS 6.0 para ejecutar cgi (.exe)
- 5. Error de editor desconocido al ejecutar exe
- 6. ¿Cómo ejecutar una aplicación sin elevación?
- 7. Ejecutar un exe del código C#
- 8. EXE packer/EXE Compresser para la aplicación en C#/VB.net
- 9. Ejecutando PHP sin extensión sin usar mod_rewrite?
- 10. ¿Cómo ejecutar el archivo de instalación (* .exe) sin usar el archivo MSI?
- 11. ¿Puedo ejecutar ejecutar una aplicación de Android como una aplicación de escritorio independiente sin un emulador?
- 12. ¿Compila y ejecuta código dinámico sin generar EXE?
- 13. Ejecutar archivo .exe en Java desde la ubicación del archivo
- 14. Instale ClickOnce sin ejecutar
- 15. Cómo ejecutar un EXE desde la página web (asp.net)
- 16. Ejecutar exe de la solución después de installtion usando installshield
- 17. ¿Se puede ejecutar otro archivo EXE desde una aplicación de consola C#?
- 18. Ejecutar un archivo EXE utilizando un script de PowerShell
- 19. Convertir el sitio php en .exe aplicación de escritorio
- 20. Depurar el código de C# sin ejecutar la aplicación
- 21. ¿Se puede ejecutar una aplicación web ASP.NET sin web.config
- 22. ¿Cómo ejecutar la aplicación del sistema Android sin root?
- 23. ¿Es posible ejecutar una aplicación Adobe AIR sin instalación?
- 24. Código para iniciar la aplicación externa explícitamente
- 25. ¿Lanzando una aplicación (.EXE) de C#?
- 26. Cómo ejecutar la aplicación C# Windows desde USB sin instalar .NET framework en el sistema cliente
- 27. Detectar la extensión de Chrome ejecutar/actualizar
- 28. Tener URL sin extensión .aspx
- 29. nombre de archivo sin extensión
- 30. Implementar en iPhone sin ejecutar
buena explicación :-) – Chad