Windows 8でのMicrosoftのSmartScreenフィルターは、小規模な開発者にとって最悪の悪夢です。
エンドユーザーにとってのメリットと、悪意のあるプログラムがエンドユーザーのコンピューターにインストールされるのを防ぐことの有効性を理解していますが、私や他の多くの開発者は、コード署名証明書や、さらに悪いことにEVコード署名証明書。また、社内で使用するために開発された製品が、Trusted Publishersストアに保存されている内部CAからの信頼できる証明書で署名されている場合、フィルターの熱心な動作の犠牲になります。
開発者と管理者は、信頼できる発行元ストアに発行元のコード署名証明書をインストールすることで、警告とプロンプトを無効にすることができました。クリエイティブな開発者は、有料のAuthenticodeコード署名証明書で署名され、タイムスタンプが付けられた前提条件をインストールするときに、自己署名コード署名証明書をそこにインストールできます。その後、発行者によって署名されたプログラムは信頼され、SmartScreenフィルターアラームを作動させません。基本的に、いったん信頼されると、出版社は定期的な料金から解放されました。
SmartScreenフィルターの最近の変更(およびWindows 8のOS "機能"としての追加)により、Microsoftが作成した問題を創造的に回避するのではなく、コード署名証明書の購入を望んでいることが明確になりました。自己署名コード署名証明書をデフォルトで使用する(つまり、プロンプトを表示しない)発行者を信頼する新しい方法を誰かが発見しましたか?フィルターを完全にオフにする以外に、エンドユーザーは、自己署名証明書を常に信頼するようSmartScreenフィルターに知らせるにはどうすればよいですか?
コード署名証明書の購入は、この質問に対する答えではないことに注意してください。 SmartScreenフィルターに、外部ソースから証明書を購入せず、組織内で使用するために独自の証明書を発行する発行元を信頼するように指示する方法を探しています。
更新:回避策を見つけたかもしれません!From [〜#〜] msdn [〜#〜] 、SmartScreen Windows 8およびInternet Explorer 10では、信頼済みサイトとしてリストされているサイトのフィルターを無効にできます。 Windows 8の信頼済みサイトからダウンロードして実行するセットアッププログラムでこの方法が機能することを確認できれば、多くのISVおよび社内の開発チームに大いに役立ちます。また、この質問に答えるために必要な回避策にもなります。信頼済みサイトはグループポリシーで構成できるため、そこから簡単になります。
プログラムにより、信頼済みサイトゾーンのSmartScreenフィルターをオフにするには、マシンのHKLM\Software\Policies\Microsoft\Windows\CurrentVersion\Internet Settings\Zones\2!2301またはHKCU\Software\Policies\Microsoft\Windowsを設定します。ユーザーの\ CurrentVersion\Internet Settings\Zones\2!2301を0に設定し、信頼するサイトを信頼済みサイトゾーンに追加するには、 この質問 に示すようにします。
信頼できるサイトからダウンロードされた未署名または自己署名の実行可能ファイルに対して、提案された回避策がWindows 8で機能することを誰かが確認できますか?私は自分でWindows 8を使用していません。証明書の費用にOSのアップグレード予算を費やしました。
MicrosoftのWindows 8の90日間の試用版を使用して、回避策が実際に機能することを確認できました。年会費を支払う代わりに、コード署名証明書の支払いを1回だけ行いたい場合、この方法でも同様に機能しますが、保証はできません。私のソリューションはマシンごとですが、ユーザーごとに動作するように簡単に変換できるはずです。
これは私の解決策です:
これまでにこの方法を使用して受け取った最悪の警告は、「このタイプのファイルはコンピューターに損害を与える可能性があります」です。これが典型的な「実行ファイルをダウンロードしています!」です。警告。 [実行]オプションは非表示にならず、VS2010で[公開]をクリックして生成されたbootstrap Webページを使用するClickOnce展開では表示されません。
すべてのコメントとリンクをありがとう。
MSDNのWebサイト から引用するには:
批判者は、SmartScreenが開発者に証明書にお金を使うことを「強制」していると主張するかもしれません。 SmartScreenで評判を構築または維持するために、EVコード署名証明書が必要ないことを強調する必要があります。標準コード署名証明書で署名されたファイル、および署名されていないファイルでさえ、昨年IE9でアプリケーションレピュテーションが導入されて以来、評判を高め続けています。ただし、EVコード署名証明書の存在は、ファイルが厳密な検証プロセスに合格し、ハードウェアで署名されたエンティティによってファイルが署名されたことを示す強力な指標です。 -EVコード署名プログラム。
つまり、EV(有料)検証は、SmartScreen警告を表示するかどうかを決定する大規模なアルゴリズムの1つの要素にすぎません。プログラムをダウンロードする人が多い場合、またはプログラムのダウンロードリンクがしばらく変更されていない場合は、何らかの作業を行うことでプログラムを取得できますnot警告を表示します。また、コードにデジタル署名することで、Appication Reputationを高めることができます。これは、 トピックに関するMicrosoftのWebページ から直接です。
管理者権限がなくても、フィルターをバイパスする非常に簡単な方法を見つけました。あなたがする必要があるのは:
@%*
"SkipSmartScreen.bat"
(はい、引用符付き)としてアプリと同じフォルダーに保存します。バッチファイルの名前は後で変更できますこれにより、スマートスクリーンフィルターがバイパスされます。
Windows 10 Home、Pro、およびEnterprise、およびWindows 8 Proでテスト済み。
使い方:
@
-これは見た目のためだけで、実行されているコマンドの名前を隠します%*
-これは、渡されたすべてのコマンドライン引数に展開されます(たとえば、バッチファイルにドロップしたファイルSmartScreenをオフにする方法は次のとおりです。
- Windows SmartScreen-Windows 8でオンまたはオフにする
- [フォルダオプション]のオプションをオフにします
私が使用したものと私に合ったものは何ですか?最初のリンクからの「オプション1」でした:
これがあなたが探していたものであることを願っています。 :)