C# veya VB .Net ile yapmak istersen
WebClient nesnesini kullanacaksın
DownloadFileAsync(indirme adresi , pc de indirlecek yer)
diye bir fonksiyonu var onu kullanacaksın.
dosya indirimini görmek için
DownloadProgressChanged
Olayı var onu kullanarak bir ProggressBar ile indirme durumunu görüntüleyebilirsin.
İndirme Bittikten sonra PC de indirdğin konum vardı ya zaten oyun Exe veya msi uzantısı ile gelir yani kurulum dosyası şeklinde onu da
System.Diagnostics.Process.Start(cagıralcak program veya Uri)
Cagırısın olur biter Zor birşey değil yani...