Pregunta

El código de salida 1625 es "Esta instalación está prohibida por la directiva del sistema. Póngase en contacto con el administrador del sistema."

Lo que estoy haciendo está llamando de esta manera:

Process installProcess = Process.Start(msiPath, "/quiet");

Puedo correr la multa msi si abro manualmente. Esto es en Windows Server 2008 ...

La intención de esto es para actualizar automáticamente mi programa formas .NET con la última versión. Alguien tiene una idea de qué tipo de configuración está causando esto? Quiero decir, los clientes van a estar usando Vista / 7 / XP, pero todavía tengo que saber qué tipo de configuración de seguridad va a arruinar mi plan.

¿Fue útil?

Solución

ProcessStartInfo startInfo = new ProcessStartInfo();
startInfo.Arguments = "/i " +  "\""+Directory.GetCurrentDirectory()+"\\"+msiPath +"\"" +" /q";
startInfo.FileName = "msiexec.exe";
startInfo.Verb = "runas";


Process installProcess = Process.Start(startInfo);

Al llamar al msi esta manera hizo el truco.

Resultó ser algún tipo de problema UAC creo. Las runas verbo alguna manera eleva los permisos tiene el programa. A pesar de que mis indicaciones de UAC fueron desactivadas en el servidor 2008 que todavía tenía que hacer esto para conseguir alrededor de él .. extraño eh?

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top