MFC 転送URLの転送先を取得

変数urlに URLが入ってるとしての処理
szRedirectが!=""なら転送。ここに転送先URLが入ってる

	// 転送URL先URL取得
	CString Server_Host_Address;
	CString FileLocation;
	CString Referer;
	CString SaveDirectory;
	CString SaveName;

	CString tmpUrl = url;
	tmpUrl.Replace("http://", "");
	tmpUrl.Replace("https://", "");

	int pos = tmpUrl.Find("/");
	Server_Host_Address = tmpUrl.Left(pos);
	FileLocation = tmpUrl.Mid(pos + 1);


	HINTERNET hInternet;
	HINTERNET hHttpSession;

	// WININET初期化
	hInternet = InternetOpen(
		"Web_Downloader",
		INTERNET_OPEN_TYPE_PRECONFIG,
		NULL,
		NULL,
		0);

	if(hInternet == NULL ) return 0;

	hHttpSession = InternetOpenUrl(hInternet,
		url,
		NULL,
		0,
		INTERNET_FLAG_NO_AUTO_REDIRECT | INTERNET_FLAG_RELOAD,
		0
	);

	if (hHttpSession == NULL) {
		InternetCloseHandle(hInternet);
		return 0;
	}

	TCHAR szRedirect[4096] = { 0 };
	DWORD dwRedirect = sizeof(szRedirect);
	DWORD StatusCode, StatusCode_Size = sizeof(DWORD);
	BOOL bHttpQueryInfo_STATUS = HttpQueryInfo(                        //エラーコードを数値として返してくれる。
		hHttpSession,
		HTTP_QUERY_LOCATION,
		(LPVOID)szRedirect, 
		&dwRedirect,
		NULL);

	if ( szRedirect[0] != '\0' ) {
		// 転送!
	}

	InternetCloseHandle(hHttpSession);
	InternetCloseHandle(hInternet);



VBScriptで、32 ビットまたは 64 ビットの Windows OS を実行しているかどうかを判断

strOSArch = GetObject("winmgmts:root\cimv2:Win32_OperatingSystem=@").OSArchitecture
If Instr(strOSArch,"64") <> 0 Then
	'OSが64ビット
	MsgBox "64"
Else
	'OSが32ビット
	MsgBox "32"
End if

以下は完璧じゃないっぽい

Dim WshShell
Dim WshProcEnv
Dim system_architecture
Dim process_architecture

Set WshShell =  CreateObject("WScript.Shell")
Set WshProcEnv = WshShell.Environment("Process")

process_architecture= WshProcEnv("PROCESSOR_ARCHITECTURE") 

If process_architecture = "x86" Then    
    system_architecture= WshProcEnv("PROCESSOR_ARCHITEW6432")

    If system_architecture = ""  Then    
        system_architecture = "x86"
    End if    
Else    
    system_architecture = process_architecture    
End If

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