locked
PCAを表示させないようにする方法 RRS feed

  • 質問

  • 32bitベースのアプリケーションをWindows7(32/64bit)にインストールした際、
    プログラム互換性アシスタント(以下PCA)が起動することがあり、これを起動しないようにしたいと考えています。

    調べてみたところ、「Windows 7 では、Windows Vista と異なり、以下のようにアプリケーションマニフェストの
    Compatibility セクションを設定することで、PCA のダイアログが表示されるのを抑制できます。」という情報を見つけ、
    setup.exeのマニフェストにWindows7用の記載を追加しました。
    http://www.microsoft.com/japan/powerpro/TF/column/ro2_01_1.mspx

    しかし、上記追加を行ってもまだPCAが起動してしまうことがあります。
    インストールされるアプリケーションの実行ファイルやdllにもWindows7用の
    マニフェストの追加が必要なのでしょうか?


    Windows 7 全てのエディション、InstallShield2010を使用しています。
    • 移動 Yubo. Zhang 2012年10月1日 10:51 (移動元:Windows 7 ソフトウェア)
    2010年1月25日 6:17

回答

すべての返信

  • 詳しいわけではありませんが。

    InstallShield ということですが、InstallShield では、いくつかの構成があると思います。InstallShield のスクリプトを使うプロジェクト、Microsoft Installer のスクリプトを使うプロジェクト、両方のミックス、です。このうち、どのプロジェクトを使用されているのでしょう?

    もし、InstallShield プロジェクトを使用されているのであれば、Setup.exe は InstallShield で用意されているものではないでしょうか。これは、Macrovision の署名がされており、InstallShield のユーザーは変更不能だと思います。(2008くらいのバージョンで、そのあたりに変更が入ったような気もする。)

    変更不能であれば、埋め込まれたマニフェストを追加(変更)することも出来ないと思います。


    Jitta@わんくま同盟
    2010年1月26日 13:08
  • 亀レスかもしれませんが、本件、InstallShield 2010 Service Pack 1 で修正されています。
    ただ、修正内容は、setup.exe のマニフェストに、Compatibility セクションを追加したという
    ことになります。
    PCA を動かしたくないという場合の対応策は、Compatibility セクションで Windows 7 ネイティブモードにすることだけです。

    Q206429: InstallShield 2010 Service Pack 1
    http://kb.flexerasoftware.com/selfservice/microsites/search.do?cmd=displayKC&docType=kc&externalId=Q206429

    setup.exe のマニフェストに Compatibility セクションを付与する方法は、

    Q205850: PRB: Manifest Compatibility Section Missing from Setup Manifest May Lead to Program Compatibility Assistant Dialog
    http://kb.flexerasoftware.com/selfservice/microsites/search.do?cmd=displayKC&docType=kc&externalId=Q205850

    に記載があります。

    • 回答としてマーク 三沢健二 2010年5月13日 2:38
    2010年5月11日 4:59