2013-04-12 8 views
5

Daha yeni bir sürüm yüklerken uygulamanızın bir önceki sürümünün kaldırılmasını zorlamak için < MajorUpgrade>WiX 3.6 kullanıyorum. Uygulamam, Windows Gezgini'nde bir uzantı DLL dosyası yükler, bu nedenle Listelenen Dosyalar Listelerini kaldır ve listelenen uygulamayı kapatmak için varsayılanları kaldır. Bu, Windows Gezgini'ni benim kabuğumdan uzaklaştıkça (kullanıcı için biraz sarsıcıdır) öldürür, ancak yine de tüm uygulamaların kapanmayacağını ve yeniden başlatmanın gerekli olacağını belirten bir hata alıyorum. Benim tercihim, bu thrash'i önlemek ve Files-In-Use iletişim kutusunu atlamak, sonunda kullanıcıyı gerekli yeniden başlatma hakkında bilgilendirmektir. WiX'e Dosya İçinde Kullan iletişimini atlamanın bir yolu var mı?WiX: Kullanmakta olan dosyalarda iletişim penceresini göstermekten kaçının ve yüklemenin sonunda yeniden başlatmayı isteyin

cevap

6

"Disabled" (MSI SDK'dan) MSIRESTARTMANAGERCONTROL özelliğine ayarlayarak Yeniden Başlatma Yöneticisi tümleştirmesini devre dışı bırakabilirsiniz. FilesInUse iletişim kutusunu da kaldırmayı deneyebilirsiniz, ancak statik Internal Consistency Evaluator (ICE) doğrulaması şikayette bulunacaktır. Umudum, Yeniden Başlatma Yöneticisi'nin devre dışı bırakılması, kaynakları explorer.exe'dan çıkarmaya çalışmak için yeterli olacaktır.

+0

Merhaba Rob, zaten hiçbir şans ile Devre Dışı MSIRESTARTMANAGERCONTROL ayarı çalıştı. – ribram

+0

Daha sonra, 'FilesInUse' iletişim kutusunu kaldırmanız ve Windows Installer'ın bir iç belge sağlaması gerekmeyeceğini umarız. :) –

+0

Merhaba Rob, kaldır Ben WiX kaynağı çekerek ve iletişim olmadan yeniden inşa ettiğini varsayarak mı? – ribram

6
<Property Id="MSIRESTARTMANAGERCONTROL" Value="Disable"/> 

Bu benim için çalışır, ancak herhangi bir sistem hizmetini öldürmeye çalışmıyorum.

yanı sen "DisableShutdown" denemek mü?

"Windows Installer, FilesInUse İletişim Kutusunu kullanır.Bu ayar, Yeniden Başlatma Yöneticisi'ni kullanmak için yazılmayan bir Windows Installer paketi yüklerken Yeniden Başlatma Yöneticisi'nin yeniden başlatmayı azaltma girişimlerini devre dışı bırakır. Yükleyici, hala Yeniden Başlatma Yöneticisi'ni kullanmak üzere Yeniden Başlatma Yöneticisi'ni kullanır. uygulamalar tarafından kullanılıyor dosyaları. "

http://msdn.microsoft.com/en-us/library/aa370377%28v=vs.85%29.aspx

-Robin

+0

Bu seferki WiX 3.5 Çalışıyor –

+0

ile çalışır ancak 'hatası 2803 neden olur: iletişim görünümü dialog' – Alexandru

+0

için bir kayıt bulamadık Ben benzer bir soru (http://stackoverflow.com/questions/29103629/how gönderdiniz Projede öngörülen bastırmak-a-iletişim) – Alexandru

1

Ben de girişimi kapatıp uygulamalar her zaman başarısız olur yeniden açmak için bir durum var. Yeniden başlatma gerekli. Burada sunulan tüm çözümleri kullanmayı denedim. Hiçbiri işe yaramadı. Sorunu basitçe çözebildim. Bu makale ipucuydu.

https://msdn.microsoft.com/en-us/library/aa369546(v=vs.85).aspx Hep yanlış yönlendirdiği InstallValidate standart eylem bir koşul ekledi. Eylem asla çalışmaz. Standart işlem yalnızca disk maliyetlendirmesi ve açık süreçlerle ilgilenir, Eylemi durdurma işleminin durdurulması, tüm teklifleri bir şeyler kapatarak durdurdu. Yüklemenin sonunda yeniden başlatılmasını istemek için Windows Installer REBOOT özelliğini de FORCE'ye ayarlamam gerekiyordu.

başvurum küçük bir disk ayak izi vardır. Eğer diskin dolu olması nedeniyle kurulumum daha sonra başarısız oluyorsa, büyük bir sorun olurdu, kendimi maliyetlendirmenin bir yolunu bulurdum.

İlgili konular