0

InstallShield 2013 でビルドした非常に小さなインストール パッケージを検証するために、App Certification Kit を使用しています。「Attack Surface Analyzer」は、インストール ディレクトリが

...複数の非管理者アカウントによる改ざんを許可する ACL を持つファイルやフォルダーが含まれています。

次に、3 つのインストール ファイルに「不正な ACL があります... 書き込み可能: ビルトイン ユーザーの権限: FILE_WRITE_ATTRIBUTES、FILE_WRITE_EA、FILE_APPEND_DATA、FILE_WRITE_DATA」と報告されます。

インストールにはこれらの権限は必要ありません。両方のコンポーネントの自動 COM 検出を無効にすることを除いて、コンポーネントの既定値から外れたものは何も指定していません。本格的に言えば、これは「XCopy」タイプの展開に相当するはずです。

このような単純な MSI インストールで Attack Surface Analyzer テストに合格するには、何を探す必要がありますか?

インストールの構成は次のとおりです。

2 つのコンポーネントを含む 1 つのフィーチャー:

  • 64 ビットの .NET コンパイル済みアプリケーションであるメインの EXE
  • EXE の外部 .manifest ファイル

2 番目のコンポーネントには以下が含まれます。

  • このアプリケーションのみによる登録不要の実行を目的とした 64 ビット COM DLL

.manifest ファイルには、次の DLL を指す、動作中の登録不要の COM サーバー データのみが含まれています。

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">

  <assemblyIdentity name="MyAssembly" version="1.0.0.0" 
                    type="win32" processorArchitecture="amd64"/>

  <file name="MYsideBySide.dll">
    <comClass
       (working comClass stuff) />

    <typelib
       (working typelib stuff) />
  </file>    

     <comInterfaceExternalProxyStub 
          (working ProxyStubStuff) />
</assembly>
4

1 に答える 1

0

インストール パッケージは、テスト用に既に存在するディレクトリにインストールするように構成されています。以前のインストールでは、そのディレクトリに継承可能な権利が設定されていたようです。

インストール パッケージの宛先パス (INSTALLDIR 変数) を変更すると、Attack Surface Analyzer テストに合格しました。この種のものではよくあることですが、別のソフトウェア パッケージが正常な動作を妨げていました。

于 2014-07-17T21:20:30.953 に答える