2012-12-05 46 views
6

私は32/64bitインストーラを一挙に構築しようとしています。 32ビットマシンと64ビットマシンで異なるのは、RegAsm.exeを呼び出すことだけです。コードは64ビットのフレームワークを見なければならない64ビットのマシンで、32ビットの場合は標準のフレームワークを見ます。Inno Setup RegAsm.exeエラー

32ビット: "C:\ WINDOWS \ microsoft.net \枠組み" 64: "C:\ WINDOWS \ microsoft.net \ framework64"。

私がアクションをインストールし実行するために私のパッケージを設定しています。私の64bitアクションでは、IsWin64のチェックが有効になっています。

ファイル名:{} dotnet4064 \ Regasm.exeによって。パラメータ: "" "mydll.dll" "/ codebase"; WorkingDir:{アプリ}; 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ビットマシンでは、私はエラーを取得する私は、すべてのヘルプドキュメントの上にあったとGoogleとロックダウンすることはできませんしました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 = x64およびその後、チェックを使用して:ArchitecturesInstallIn64BitMode = x64およびその後、チェックを使用して:Is64BitInstallMode

+0

グラブインストールログとbefo関連する行を表示エラーが発生します。 – jachguate

+0

これはログからの応答です。ダイアログが言及しているエラーを実際には何も伝えません。 2012年12月5日14:58: 内部エラー:インストールプロセス(例外)中の54.281致命的な例外は、このバージョンのWindows上で64ビットの場所にファイルを実行することはできません。 2012年12月5日14:58:54.281例外メッセージ: 2012年12月5日14:58:54.281メッセージボックス(OK): 内部エラー:このバージョンのWindows上で64ビットの場所にファイルを実行することはできません。 2012-12-05 14:58:54.926ユーザーが[OK]を選択しました。 – user1879966

+0

低い値は、インストーラがRegAsm.exeを実行していないことを示していますか? – jachguate

答えて

2

は、私が追加することで、これを解決します: Is64BitInstallMode