Domanda

Ho un progetto di distribuzione .NET. Vorrei aggiungere un'azione di disinstallazione personalizzata che controlla determinate condizioni e facoltativamente annulla la disinstallazione. È possibile?

Per quanto ho capito, è possibile solo definire azioni personalizzate che non possono influenzare il programma di installazione principale stesso.

È stato utile?

Soluzione

La risposta è in realtà abbastanza semplice ma anche piuttosto brutta.

Nel punto dell'azione personalizzata in cui desidero annullare la disinstallazione, lancio semplicemente un ApplicationException :

//Nono. Don't uninstall. To abort uninstall, throw an exception
throw new ApplicationException(Constants.CONST_APP_NAME + @" can't be uninstalled because the preparation hasn't been completed.");

Altri suggerimenti

Mi sorprenderebbe se fosse possibile. Nella mia esperienza, non appena provi a utilizzare il progetto di installazione VS per fare qualcosa che non può essere trascinato e trascinato nel designer, stai chiedendo problemi.

In altre parole, fa schifo, ma non so se l'erba è più verde dall'altra parte (ad esempio InstallShield), perché non l'ho mai usato.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top