Norton SafeWeb に 誤検出された時の対策方法

https://safeweb.norton.com/site_dispute にアクセス
・アカウント作る
・ログイン
・URL入れてサイトの評価を確認 「X」と出る
・「>ここをクリックして異議を送信」をクリック
・HEADにタグを埋め込むかファイルをアップロードして認証。
・「サイトを再評価する」で異議申し立て

2日かかるそうです。


innosetupでウィザードのようこそ画面を表示させる

DisableWelcomePage = no とする

;-------------------------------------------------------------------------
; ウィザード画面の表示に関わる定義
;-------------------------------------------------------------------------
; 開始ダイアログの表示設定
DisableStartupPrompt = no
; ようこそ画面の表示設定
DisableWelcomePage = no 
; プログラムグループ設定画面の表示設定
DisableProgramGroupPage= no
; ユーザー情報設定画面の表示設定
UserInfoPage = yes
; インストール先の指定の表示設定
DisableDirPage = no 
; 準備完了画面の表示設定
DisableReadyPage = no
; インストール完了の表示設定
DisableFinishedPage = no

VC++ runtimeのサイレントインストールでPC再起動しちゃうのを抑制する

/norestart を加える

/norestart   - 再起動を抑制します。既定では再起動前に確認メッセージが表示されます。

inno setupで指定exeが起動してたら中断する

[Code]
function IsAppRunning(const FileName : string): Boolean;
var
  FSWbemLocator: Variant;
  FWMIService : Variant;
  FWbemObjectSet: Variant;
begin
  Result := false;
  FSWbemLocator := CreateOleObject('WBEMScripting.SWBEMLocator');
  FWMIService := FSWbemLocator.ConnectServer('', 'root\CIMV2', '', '');
  FWbemObjectSet := FWMIService.ExecQuery(Format('SELECT Name FROM Win32_Process Where Name="%s"',[FileName]));
  Result := (FWbemObjectSet.Count > 0);
  FWbemObjectSet := Unassigned;
  FWMIService := Unassigned;
  FSWbemLocator := Unassigned;
end;

function InitializeSetup: boolean;
begin
Result := not IsAppRunning('excel.exe');
if not Result then
MsgBox('Excelが起動しています。Excelを終了させてから再度インストールをお試し下さい。', mbError, MB_OK);
end;

VC++/MFCで実行ファイルのパスを取得

// 実行ファイルのパスを取得
CString GetModulePath()
{
    // 実行ファイルのパス
    CString modulePath = _T("");
    // ドライブ名、ディレクトリ名、ファイル名、拡張子
    wchar_t path[_MAX_PATH], drive[_MAX_PATH], dir[_MAX_PATH], fname[_MAX_PATH], ext[_MAX_PATH];

    // 実行ファイルのファイルパスを取得
    if (::GetModuleFileName(NULL, path, _MAX_PATH) != 0)
    {
        // ファイルパスを分割
        ::_wsplitpath_s(path, drive, dir, fname, ext);
        // ドライブとディレクトリ名を結合して実行ファイルパスとする
        modulePath = CString(drive) + CString(dir);
    }

    return modulePath;
}

GoogleアナリティクスのフィルタでOR条件にする方法

正規表現でOR入れる。

条件正規表現
AもしくはBに完全一致^A$|^B$^/campaign/$|^/event/$
AもしくはBに先頭一致^A|^B^/campaign/|^/event/
AもしくはBに後方一致A$|B$/campaign/$|/event/$
AもしくはBを含むA|B/campaign/|/event/