2012-12-05 18 views
6

Birinde 32/64bit yükleyici oluşturmaya çalışıyorum. Bir 32bit vs 64bit makinede farklı olan tek şey, RegAsm.exe'ye yapılan bir çağrıdır. 64bit makine için bu kod 64bit çerçeveye ve 32bit'e bakmak zorundadır ve standart çerçeveye bakar.Inno Setup RegAsm.exe Hataları

32bit: "C: \ windows \ microsoft.net çerçeve \" 64bit: "C: \ WINDOWS \ microsoft.net \ Framework64";

Yükleme eylemlerini çalıştırmak için paket kurulumum var. 64bit eylemim için IsWin64 için kontrol etkinliğine sahibim.

Dosya adı: {dotnet4064} \ Regasm.exe; Parametreler: "" "mydll.dll" "/ codebase"; WorkingDir: {app}; StatusMsg: "Eklenti Kaydetme"; Bayraklar: RunHidden; Kontrol: IsWin64; hata

2012-12-05 14:58:53.233 Installing the file. 
2012-12-05 14:58:53.281 Successfully installed the file. 
2012-12-05 14:58:53.281 -- Icon entry -- 
2012-12-05 14:58:53.281 Filename: C:\Documents and Settings\All Users\Start Menu\Programs\myprogram\my program\Uninstall myprogram.lnk 
2012-12-05 14:58:53.281 Creating directory: C:\Documents and Settings\All Users\Start Menu\Programs\myprogram\my program 
2012-12-05 14:58:53.483 -- Icon entry -- 
2012-12-05 14:58:53.483 Filename: C:\Documents and Settings\All Users\Start Menu\Programs\myprogram\my program\myprogram.lnk 
2012-12-05 14:58:54.224 -- Icon entry -- 
2012-12-05 14:58:54.224 Filename: C:\Documents and Settings\All Users\Desktop\myprogram.lnk 
2012-12-05 14:58:54.281 Fatal exception during installation process (Exception): 
          Internal error: Cannot run files in 64-bit locations on this version of Windows. 
2012-12-05 14:58:54.281 Exception message: 
2012-12-05 14:58:54.281 Message box (OK): 
          Internal error: Cannot run files in 64-bit locations on this version of Windows. 
2012-12-05 14:58:54.926 User chose OK. 
2012-12-05 14:58:54.926 Message box (OK): 
          Setup was not completed. 

          Please correct the problem and run Setup again. 
2012-12-05 14:59:00.222 User chose OK. 
2012-12-05 14:59:00.222 Rolling back changes. 

Bu, tüm önceki günlük dosyasının

Çeşitli hatları 64bit makine üzerinde çalışıyor. 32bit makinesinde bir hata alıyorum:

Dahili Hata: Windows'un bu sürümünde

tüm yardım belgelerine yerinden edilmiş ve google ve aşağı kilitleyemezsiniz ettik üzerinde 64 bit konumlardaki dosyaları çalıştırılamıyor Bunun neden olduğuna dair bir sebep. Herhangi bir yardım takdir edilir.

[Run] 
Filename: "{dotnet40}\Regasm.exe"; Parameters: "My.TaskPane.dll"; WorkingDir: "{app}"; Flags: runhidden; StatusMsg: "Registering MyTaskPane Add-In" 
Filename: "{dotnet4064}\Regasm.exe"; Parameters: "My.TaskPane.dll"; WorkingDir: "{app}"; Flags: runhidden; StatusMsg: "Registering My TaskPane Add-In"; Check: IsWin64 
Filename: "{dotnet40}\Regasm.exe"; Parameters: "My.TaskPane.dll /codebase"; WorkingDir: "{app}"; Flags: runhidden; StatusMsg: "Registering My TaskPane Add-In" 
Filename: "{dotnet4064}\Regasm.exe"; Parameters: "My.TaskPane.dll /codebase"; WorkingDir: "{app}"; Flags: runhidden; StatusMsg: "Registering My TaskPane Add-In"; Check: IsWin64 
Filename: "{app}\My Software Suite.exe"; Parameters: "/register"; WorkingDir: "{app}"; Flags: PostInstall; Description: "Register the My Software Suite" 

Ben ekleyerek bu çözüldü: ArchitecturesInstallIn64BitMode = x64 ve sonra çek kullanarak: Is64BitInstallMode

+0

Yükleme günlüğü tut ve ilgili satırları göster hata oluşur. – jachguate

+0

Bu, günlükten gelen yanıttır. Diyaloğun belirttiği hatayı gerçekten bir şey anlatmaz. 2012-12-05 14: 58: 54.281 Yükleme işlemi sırasında önemli özel durum (Özel durum): İç hata: Windows'un bu sürümünde 64 bit konumlarda dosya çalıştırılamıyor. 2012-12-05 14: 58: 54.281 İstisna mesajı: 2012-12-05 14: 58: 54.281 Mesaj kutusu (OK): Dahili hata: Windows'un bu sürümünde 64 bit konumlarda dosyalar çalıştırılamıyor. 2012-12-05 14: 58: 54.926 Kullanıcı TAMAM'ı seçti. – user1879966

+0

Yükleyicinin, yapılmaması gereken RegAsm.exe'yi çalıştırdığını düşük gösterir. – jachguate

cevap

2

Ben ekleyerek bu çözüldü: ArchitecturesInstallIn64BitMode = x64 ve sonra çek kullanarak: Is64BitInstallMode

İlgili konular