VSまたはCRTがインストールされていないOSで実行されているC++プログラムのデバッグバージョンがある場合でも、デバッグアサーションエラーボックスが表示されますか?
「DebugAssertFailed!」と表示されているもの。
または、マシンにCRTやVisual Studioなどの特定のコンポーネントがインストールされている場合にのみ取得しますか?
VSまたはCRTがインストールされていないOSで実行されているC++プログラムのデバッグバージョンがある場合でも、デバッグアサーションエラーボックスが表示されますか?
「DebugAssertFailed!」と表示されているもの。
または、マシンにCRTやVisual Studioなどの特定のコンポーネントがインストールされている場合にのみ取得しますか?
これは、アプリケーションをどのように構築したかによって異なります。デバッグCRTに動的にリンクしている場合、開発者でない限り、ユーザーがシステムにデバッグCRTを持っている可能性はほとんどありません(実際、VSのライセンスのために配布できません)。したがって、この場合は実行されません。CRTに静的にリンクする場合、デバッグビルドを出荷した場合は、ユーザーにアサートが表示されます。
あなたがそれを実行させることができれば、はい。/ MDd(デフォルト)を使用してコンパイルするには、動的CRTのデバッグバージョンを配布する必要があります。これは再配布可能なコンポーネントではありません。とにかく出荷することはライセンス違反です。/MTdでコンパイルすることで回避できます。
もちろん、ユーザーは「デバッグアサーションが失敗した」とはどういう意味かわからず、無視が機能しない理由を理解できません。避けるのが最善です。