Ich denke, Sie könnten es vortäuschen. Führen Sie eine boolesche Eigenschaft "IsInstalled" ein, die standardmäßig auf false festgelegt ist. Dann in Program.cs, ändern Sie Ihre Main() -Methode wie folgt aussehen:
[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());
}
So, jetzt, wenn die App zum ersten Mal installiert wird, ist es, dass das Eigentum überprüft und zeigt einfach eine Nachricht an den Benutzer und dann beendet.
Wenn Sie knifflig werden wollten, dann könnten Sie den Aktivierungs-URI für die Bereitstellung analysieren und einen URI-Parameter angeben, der angibt, ob das Programm bei der Erstinstallation ausgeführt werden soll oder einfach stillgelegt werden soll.
Ich möchte auch verstehen, warum es die Anwendung während der Installation ausführt. Ich habe hier gefragt: http://stackoverflow.com/questions/19735193/why-does-the-clickonce-deployment-installer-run-the-application-with-installat – Xonatron