C++Builderで、Windowsのアプリケーションを作成していたとろ、
”プロセスを生成できません:ファイルにウイルスまたは望ましくない可能性のあるソフトウェアが含まれているため、操作は正常に完了しませんでした ”という以下のようなエラーメッセージが表示され、コンパイルは通るのにプログラムが実行できず、最初原因がわからず困惑してしまいました。
その原因がわかりましたので、参考までにその情報を共有します。皆さんも同じエラーが発生した場合は以下の内容もご確認ください。ウイルス対策ソフトは必要なソフトではあるのですが、たまに誤検出して必要な実行ファイルやDLLが削除されることがあるのは困ったものです。
エラーの原因
色々と確認すると、プロジェクトフォルダーの出力ディレクトリにあるはずの実行ファイルがありませんでした。使用しているパソコンのセキュリティソフトとして、マカフィー(McAfee)を使用してるいるのですが、コンパイルして作成した実行ファイル(*.exe)をウイルスとして誤検出して削除していたのが原因でした。
尚、エラーが出るのは、WIN32で、「C++リンカ」の「動的RTLとリンクする」がfalseの時のみでした。WIN64では、エラーは発生しませんでした。「動的RTLとリンクする」は、falseにしないと、実行ファイル単体で実行できないので困ります。
エラーの回避方法
エラーの回避方法につおて説明します。
リアルタイムスキャンを無効にする
リアルタイムスキャン時に実行ファイルが削除されていましたので、当然といえば当然ですがリルタイムスかヤンを無効にしたらアプリケーションの実行ができました。
除外するファイルに登録する
除外設定として、norton等はフォルダの指定も可能でしたが、マカフィー(McAfee)ではファイルの指定のみ可能なようです。
1.マカフィー(McAfee)のリブセーフを開き、「リアルタイムスキャン」を選択します。
2.マカフィー(McAfee)のアイコン上でをマウスを右クリックして表示されるポップアップメニューから、「設定を変更する」->「リアルタイムスキャン」を選択しても以下の画面が表示されます。
3.この画面の除外するファイルの箇所に、除外したいファイルを登録します。
ファイルをDropしても登録することができます。
参考URL
以下のHPも参考にしてください。