0

プログラムでC#またはWinAPI関数を使用して、宣伝されたショートカット(MS Office Shortcutsなどを参照)を作成する方法はありますか?

そのようなショートカットから情報を取得/読み取る方法と、MSIがそのようなショートカットを作成するという知識しか見つかりませんでしたが、それらを作成する方法はありません(msiインストーラーなし)

そのようなショートカットタイプの副作用として、それらはプロパティウィンドウで編集できず、そのような「編集できない」ショートカットを作成したい (MS Office のように - 他の宣伝されたショートカット機能にはあまり興味がない)

4

2 に答える 2

2

あまり。アドバタイズされたショートカットのターゲットは、インストールされた製品のコンポーネントのキーファイルです。これは、クリックしたときにヘルスチェックを実行できるようにするためです。

MSIがなければ、これらすべてを実現することは不可能です。

ShellAPI は、WindowsInstaller の CreateShortcut アクションが使用している関数を公開する可能性がありますが、ProductCode や ComponentID などを引数として使用すると確信しています。

MSI を使用してインストールした場合、DTF を使用してインストールされた MSI のコピーを作成し、ShortCut テーブルを更新して製品を再キャッシュし、宣伝されているショートカットが作成される可能性があると思います。しかし、それはあなたが考えていたことではないと思います。

于 2013-02-22T00:25:31.330 に答える
1

Windows インストーラーを使用せずに MSI で宣伝されているショートカットを作成することはできませんが、任意のシェル名前空間オブジェクトへのショートカットを作成できます (Windows インストーラーが行うのはこれだけです)。これには、最初に実際にショートカットを作成するためのシェル拡張 DLL とカスタム コードが必要です。

詳細については、MSDNシェル リファレンスこの記事を参照してください。

遅延インストールを提供したいだけの場合は、必要に応じてチェックとインストールをトリガーするスタブ実行可能ファイルへのショートカットを作成できます。

于 2013-02-22T10:13:47.947 に答える