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>