Soru :
Merhaba, uygulamam bilgisayar açıldığında direkt olarak açılmasını istiyorum. Nette biraz araştırdım bulduğum kaynaklarla denemeler yaptım ancak başarılı olamadım. Clickonce kullanarak uygulamamı dağıtıyorum bu sebep olmuş olabilir mi açılmamasına?
1 2 3 4 | RegistryKey key = Registry.CurrentUser.OpenSubKey(@"Software\Microsoft\Windows\CurrentVersion\Run", true); key.SetValue("ProgramAdı", "\"" + Application.ExecutablePath + "\""); |
Cevap :
Hatanızın şebebi şu: ClickOnce ile dağıtımını yaptığınız bir uygulama var ise, Regedit kaydında uygulamanın dağıtım adresini yazmanız gerekiyor. Aşağıdaki kodu kullanabilirsiniz.
1 2 3 4 5 6 | RegistryKey key = Registry.CurrentUser.OpenSubKey( @"SOFTWARE\Microsoft\Windows\CurrentVersion\Run", true); string startPath = @"\<strong>Uygulama Adresi\uygulamadi</strong>.appref-ms"; <span class="pln">key</span><span class="pun">.</span><span class="typ">SetValue</span><span class="pun">(</span><span class="typ">ProgramAdi</span><span class="pun">,</span><span class="pln"> startPath</span><span class="pun">);</span> |
Bu kısma uygulama dağıtım adresinizi yazınız:
1 2 3 | "\Uygulama Adresi\uygulamadi.appref-ms" |
Nedeni şu, uygulama tasarım anında proje dosyası/release içerisinde çalıştığı için, debug sonrası proje ismi ile regedit’e kayıt atılmış oluyor. dağıtımdan sonra uygulama ismi aynı fakat adres farklı oluyor. bu çalışmasına engel olabilir.
- Başlat -> Çalıştır, regedit yazıp enterlayın.
- Software\Microsoft\Windows\CurrentVersion\Run adresine girin
Uygulamanızın hangi adres ile kayıt olduğunu kontrol edin.