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