0

当社の製品は、お客様に出荷する DLL で構成されています。

Windows 8 バージョンを提供するときに、CRT に対して静的にリンクできないことに気付きました。そうしないと、DLL を使用するアプリケーションが認証に合格しません。

それについて言及しているドキュメントは見つかりませんでした。なぜそれが不可能なのか、それを実現する方法を誰かが知っていますか?

私たちの製品は、malloc/free と math 関数のみを使用します。私たちにリンクするすべてのアプリケーションに適切な vc redist をインストールするよう要求する代わりに、CRT に静的にリンクする方がはるかに簡単です。(そして、Windows Update チャネルを介して vc redist が展開されないのはなぜですか?)

4

1 に答える 1

1

Windows ストア アプリは、VS 2012 と現在の CRT を使用してのみ構築できます。重要な点は、Windows ストア アプリでは CRT の静的リンクがサポートされていないことです。

CRT に関する詳細情報は次のとおりです。

Windows ストア アプリ、Windows ランタイム、および C ランタイム http://msdn.microsoft.com/en-us/library/hh972425.aspx

サポートされていない crt ルーチンのリストは次のとおりです: http://msdn.microsoft.com/en-us/library/hh674596.aspx

ロブ・キャプランはここに書いています:

http://social.msdn.microsoft.com/Forums/en-US/winappswithnativecode/thread/0fa0695f-9828-46ac-985b-5ca15f3bee0a

「lib が Metro スタイル アプリ準拠の C ランタイムにリンクしている場合、fopen などの標準 C 関数を呼び出すことができます。App Cert Kit に対してテストして確認できます。VC 2012 より古いランタイムは機能しません。

アプリは引き続きセキュリティ サンドボックスの対象となり、アプリ データとパッケージ以外のディレクトリにアクセスすることはできません。」

于 2013-01-07T22:59:14.323 に答える