inno setup の インストーラーの64bit/32bit指定方法

1)x64対応アプリ、インストーラをx64環境で動かす。
ArchitecturesInstallIn64BitMode=x64
ArchitecturesAllowed=x64

2)x86対応アプリ、インストーラをx86環境で動かす。
;ArchitecturesInstallIn64BitModeは記述しない
ArchitecturesAllowed=x86

3)x86対応アプリ、インストーラをx64環境のWOW64で動かす。
;ArchitecturesInstallIn64BitModeは記述しない
ArchitecturesAllowed=x86 x64

ネタ元

rainbow-engine.com

MFCでexe起動。終了を待つ。

CString exe_path;
exe_path = "c:\\hogehoge.exe";

SHELLEXECUTEINFO	sei = { 0 };
//構造体のサイズ
sei.cbSize = sizeof(SHELLEXECUTEINFO);
//起動側のウインドウハンドル
sei.hwnd = NULL;
//起動後の表示状態
sei.nShow = SW_SHOWNORMAL;
//このパラメータが重要で、セットしないとSHELLEXECUTEINFO構造体のhProcessメンバがセットされない。
sei.fMask = SEE_MASK_NOCLOSEPROCESS;
//起動プログラム
sei.lpFile = exe_path.GetBuffer(0);

//実行ディレクトリ指定するなら
//sei.lpDirectory

// 実行時にパラメータつけるなら
//sei.lpParameters

//プロセス起動
if (!ShellExecuteEx(&sei) || (const int)sei.hInstApp <= 32) {
	// 失敗
	return;
}
//終了を待つ
WaitForSingleObject(sei.hProcess, INFINITE);

ネタ元

hp.vector.co.jp