Supongo que podría fingirlo. Introduzca una propiedad booleana "IsInstalled", predeterminada en falso. Luego, en Program.cs, cambiar su método Main() para tener este aspecto:
[STAThread]
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
if (!Properties.Settings.Default.IsInstalled)
{
Properties.Settings.Default.IsInstalled = true;
Properties.Settings.Default.Save();
MessageBox.Show("Install Complete");
return;
}
Application.Run(new Form1());
}
Así que ahora cuando la aplicación se instala por primera vez, se comprueba que la propiedad y simplemente muestra un mensaje al usuario y luego se cierra.
Si quieres complicarte, puedes analizar el URI de activación para la implementación y tener un parámetro URI que especifica si el programa se debe ejecutar cuando se instala por primera vez o simplemente se cierra silenciosamente.
También me gustaría entender por qué ejecuta la aplicación durante la instalación. He preguntado aquí: http://stackoverflow.com/questions/19735193/why-does-the-clickonce-deployment-installer-run-the-application-during-installat – Xonatron