Puoi usare la linea

System.Windows.Forms.Application.StartupPath

o anche

System.AppDomain.CurrentDomain.BaseDirectory

per ottenere il path di avvio dell'applicazione.

In questo modo dovresti capire se il drive (inziale nel path) è locale o no se hai il controllo dell'ambiente in cui lavori (C sarà sicuramente locale, magari tu sai che Z è di rete ...).

Per l'aggiornamento potresti usare ClickOnce