2012-12-05 67 views
6

我試圖建立一個32/64位安裝程序在一個。在32位與64位計算機上唯一不同的是調用RegAsm.exe。對於代碼必須查看64位框架的64位機器,對於32位機器來說,它看起來就是標準框架。Inno設置RegAsm.exe錯誤

32位: 「C:\ Windows \ microsoft.net \框架」 64位: 「C:\ Windows \ microsoft.net \ framework64」;

我有我的軟件包設置來運行安裝操作。對於我的64位操作,我有IsWin64的檢查啓用。

文件名:{dotnet4064} \ Regasm.exe;參數:「」「mydll.dll」「/ codebase」; WorkingDir:{app}; StatusMsg:「註冊加載項」;標誌:RunHidden;檢查: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位計算機上。在32位的機器,我得到一個錯誤:

內部錯誤:無法在此版本的Windows

我一直都在幫助文檔和谷歌並不能鎖定運行在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

獲取安裝日誌並顯示相關行befo重新發生錯誤。 – jachguate

+0

這是日誌的響應。不會告訴任何過去對話提到的錯誤。 2012-12-05 14:58:54.281安裝過程中發生致命異常(例外): 內部錯誤:無法在此版本的Windows上的64位位置運行文件。 2012-12-05 14:58:54.281異常消息: 2012-12-05 14:58:54.281消息框(確定): 內部錯誤:無法在此版本的Windows上的64位位置中運行文件。 2012-12-05 14:58:54.926用戶選擇了OK。 – user1879966

+0

低顯示安裝程序正在執行不該執行的RegAsm.exe? – jachguate

回答

2

我加入解決了這個:ArchitecturesInstallIn64BitMode = 64,然後用檢查: Is64BitInstallMode