IShellLink を使用して、ショートカットのターゲット パスを取得します。ほとんどの場合は問題ありませんが、ファイルの一部が失われることがあります。Integrity Priority が問題になる可能性があることをどこかで読みました。ここで整合性の優先度を参照してください - http://msdn.microsoft.com/en-us/library/bb625960.aspx
私の質問は、開発マシン上のすべての dll の整合性の優先度を変更した場合、これらを使用してインストール ビルドをビルドすることです。 dll を削除してから、install-build を別のマシンに移動し、そこにプログラムをインストールします。私が設定した中程度の整合性優先度は、新しいマシンでも維持されますか。または、プログラムのインストール後に整合性の優先度を変更するスクリプトを作成する必要があります。
インストール後に何もする必要がないことを願っています。
1 に答える
私は IShellLink の機能をよく知らないので、Windows インストーラーの観点からこれに対処しようとします。( installshield タグを参照して、MSI を使用していると仮定します。)
MSI はShortcut テーブルを使用し、Win7/Server2008R2 の場合はShortcutProperty Tableを使用します。この記事のアプリケーション ユーザー モデル ID (AppUserModelIDs)には、次のセクションがあります。
アプリケーションのショートカット ファイルの System.AppUserModel.ID プロパティ。ショートカット (IShellLink、CLSID_ShellLink、または .lnk ファイルとして) は、シェル全体で使用される IPropertyStore およびその他のプロパティ設定メカニズムを介してプロパティをサポートします。これにより、タスクバーはピン留めする適切なショートカットを識別し、プロセスに属するウィンドウがそのタスクバー ボタンに適切に関連付けられるようになります。注 System.AppUserModel.ID プロパティは、ショートカットの作成時にショートカットに適用する必要があります。Microsoft Windows インストーラー (MSI) を使用してアプリケーションをインストールする場合、MsiShortcutProperty テーブルを使用すると、インストール中に作成されたショートカットに AppUserModelID を適用できます。
MsiShortCutProperty テーブルはかなり新しく、それを利用したいという開発者がまだ来ていないので、設定できるさまざまなプロパティの詳細を掘り下げていません。しかし、これはあなたが下る必要がある道だと思います。