我試圖建立一個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
獲取安裝日誌並顯示相關行befo重新發生錯誤。 – jachguate
這是日誌的響應。不會告訴任何過去對話提到的錯誤。 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
低顯示安裝程序正在執行不該執行的RegAsm.exe? – jachguate