2012-12-05 19 views
6

मैं एक में 32/64 बिट इंस्टॉलर बनाने की कोशिश कर रहा हूं। 32 बिट बनाम 64 बिट मशीन पर अलग-अलग चीज RegAsm.exe पर कॉल है। 64 बिट मशीन के लिए कोड को 64 बिट ढांचे को देखना है और 32 बिट के लिए यह मानक ढांचे को देखता है।इनो सेटअप RegAsm.exe त्रुटियां

32 बिट: "C: \ Windows \ microsoft.net \ रूपरेखा" 64 बिट: "C: \ windows \ microsoft.net \ framework64";

मेरे पास क्रियाएँ स्थापित करने के लिए मेरा पैकेज सेटअप है। मेरी 64 बिट एक्शन के लिए मेरे पास IsWin64 के लिए चेक सक्षम है।

फ़ाइल नाम: {dotnet4064} \ Regasm.exe; पैरामीटर्स: "" "mydll.dll" "/ codebase"; वर्किंगडियर: {ऐप}; StatusMsg: "ऐड-इन पंजीकृत करना"; ध्वज: रनहेड; जांचें: IsWin64; त्रुटि

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. 

यह सब से पहले लॉग फ़ाइल की

कई लाइनों एक 64 बिट मशीन पर ठीक काम करता है। एक 32bit मशीन में मैं कोई त्रुटि मिलती है:

आंतरिक त्रुटि: विंडोज के इस संस्करण

मैं सभी सहायता दस्तावेज से अधिक हो गया और गूगल और को लॉक नहीं कर सकता है, उन पर 64-बिट स्थानों में फ़ाइलों को नहीं चला सकता ऐसा क्यों हो रहा है कि यह क्यों हो रहा है। किसी भी मदद की सराहना की है।

[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" 

मैं जोड़कर इस समाधान किया गया: ArchitecturesInstallIn64BitMode = 64 और उसके बाद चेक का उपयोग कर: Is64BitInstallMode

+0

एक इंस्टॉलेशन लॉग प्राप्त करें और प्रासंगिक लाइनों को दिखाएं फिर त्रुटि होती है। – jachguate

+0

यह लॉग से प्रतिक्रिया है। संवाद में उल्लिखित त्रुटि से वास्तव में कुछ भी नहीं बताता है। 2012-12-05 14: 58: 54.281 स्थापना प्रक्रिया (अपवाद) के दौरान घातक अपवाद: आंतरिक त्रुटि: विंडोज के इस संस्करण पर 64-बिट स्थानों में फ़ाइलों को नहीं चलाया जा सकता है। 2012-12-05 14: 58: 54.281 अपवाद संदेश: 2012-12-05 14: 58: 54.281 संदेश बॉक्स (ठीक): आंतरिक त्रुटि: विंडोज के इस संस्करण पर 64-बिट स्थानों में फ़ाइलों को नहीं चलाया जा सकता है। 2012-12-05 14: 58: 54.926 उपयोगकर्ता ने ठीक किया है। – user1879966

+0

कम दिखाता है कि इंस्टॉलर RegAsm.exe को निष्पादित कर रहा है जिसे ऐसा नहीं करना चाहिए? – jachguate

उत्तर

2

मैं जोड़कर इस समाधान किया गया: ArchitecturesInstallIn64BitMode = 64 और उसके बाद चेक का उपयोग कर: Is64BitInstallMode