2016-03-24 28 views
2

ile uyumlu bir EXE üretiyor this issue'a benzer.IExpress.exe, Windows 10, Windows XP

Bootouter EXE ve .NET uygulama MSI'mı kendiliğinden ayıklanan bir yükleyici dosyasına paketlemek için yıllardır IExpress (Windows'ta bulunan) kullanıyorum. (Uygulamam 32 bit, yani %windir%/SysWOW64 içinde Iexpress.exeÇalıştır sürümünü kullandım) ıexpress kullanılarak, benim koduyla ilgili bir şey değiştirmeden Geçenlerde Windows'un 10.

Windows 8.1 taşındı

Windows 10, Windows XP'de çalışmayacak bir EXE ile sonuçlanıyor ("[FileName] .exe geçerli bir Win32 uygulaması değil").

IExpress'i Windows 8.1, 8 veya 7'de kullanarak iyi çalışıyor.

Herhangi biri ışık tutabilir veya bir çözüm sağlayabilir mi?

(Windows'un 10 içine Windows 8 (dosya sürümü 11.0.9600.17416) Iexpress.exeÇalıştır kopyalayarak ve yerine bunu kullanarak ama aynı şey olur çalıştı.)

+0

Sorun, Windows 10 kutumda yeniden üretemiyorum (Windows 10'un% windir% \ SysWOW64 yapısından). Üreyen bir exe veya yardımcı olan bir şey var mı? –

cevap

3

Evet XP gerçekten bitti ve bitti başka hatırlatma ile. Ben Iexpress üretir EXE dosyasına dumpbin.exe /headers çalıştırdığınızda, görüyorum:

OPTIONAL HEADER VALUES 
     .... 
     10.00 operating system version 
     10.00 image version 
     6.00 subsystem version 
     .... 

alt sürüm numarası ilk size engel olan, 6.00 Vista'nın sürüm numarasıdır. Bu düzeltilebilir,/SUBSYSTEM seçeneğiyle değiştirmek için Editbin.exe'u çalıştırabilirsiniz, XP 5.01

İşletim sistemi ve görüntü sürümü daha büyük bir sorundur, bunu Editbin.exe ile düzeltemezsiniz. Aslında, XP'nin değerine ne kadar çok para harcadığından emin değilsiniz, 10.00 almak çok yeni. Artık XP'li bir makinem yok, sadece dene.

IExpress.exe'nin eski sürümünün kopyalanması yeterli değildir. Aslında işi bitirmek için c: \ windows \ syswow64 \ makecab.exe'yi kullanır. EXE başlık içeriğinin asıl kaynağı olduğuna dair bazı kanıtlar görüyorum. Sadece EXE dosyasını windows dizinine körü körüne kopyalamayın, bu çok riskli. Ayrı tut. Bunun hakkında aklı başında, kendi makinelerinde veya bir Sanal Makinede XP'nin önyüklenebilir bir kopyasını tutmak gerekir. XP'ye özgü müşteri sorunlarını gidermek için yine de ihtiyacınız var. Hala XP'yi müşteriye iletmek zorunda kalmanın zorluklarını öde ve akıllıca ve gerekli olan şeyi çok daha hızlı yapma eğiliminde. Bunun için sana yardım edemem.

+0

Bilgi için teşekkürler - dumpbin.exe hakkında hiç bilmiyordum. Altsistem sürümünü değiştirmeye zorlama maalesef çalışmıyor - Ben "Prosedür giriş noktası _except_handler4_common msvcrt.dll dinamik bağlantı kitaplığında bulunamadı" iletisini alırsınız. Ve bu hatayı hafifletmeye çalışmak, daha da fazla soruna neden oluyor. Sanırım Windows 8 üzerinde yapmamın iexpress.exe adımını yapmaya devam etmem gerekecek ve XP desteğimin beni tuttuğu için zaten yapmak istediğim, başvurumun gelecekteki bir sürümü için XP desteğini öldürmeyi düşüneceğim. .NET 4.0'da geri dönün). – Ross