WiX:如何使用WiX将应用程序图标固定到Windows 10开始菜单和任务栏?

4
如何使用WiX将应用程序固定到Windows 10开始菜单(右侧的大图标)和任务栏,与动态磁贴并排显示?
我查看了手册,但是它是针对V3的。WiX Toolset v4.x参考手册即将推出。请访问:http://wixtoolset.org/documentation/ 我希望在安装过程中为用户提供将图标应用程序固定的选项。我可以在所有Windows平台上进行正常安装,但无法包含应用程序(右侧的大按钮图标)。这是否可以使用WiX实现?
2个回答

6

不支持该操作。根据MSDN的说明:

一些应用程序在新安装时默认被固定。除此之外,只有用户可以固定更多的应用程序;应用程序不能进行编程固定。


1
这真是令人恼火啊... 我以为这就是StartMenuFolder与ProgramMenuFolder的区别,哈哈 - Reahreic

0

最新的消息(看起来是微软在2022年7月创建的文章)表明,现在可以通过编程方式创建应用程序图钉,但可能只允许在UWP上使用。有关更多详细信息,请参见MSDN

您可以像将应用程序固定到“开始”菜单一样,以编程方式将自己的应用程序固定到任务栏。您还可以检查您的应用程序当前是否已固定,以及任务栏是否允许固定。

然而,WIX安装程序目前不支持此功能-您可能需要从应用程序中自行创建这些图钉。您可以遵循GitHub官方示例代码或此C#应用程序的摘要示例:

using System;
using Windows.Foundation.Metadata;
using Windows.UI.Shell;

async void SetPinAsync()
{
    // Check if the Taskbar API is present
    if (ApiInformation.IsTypePresent("Windows.UI.Shell.TaskbarManager") == false)
        return;
    
    // Get the taskbar manager
    var taskbarManager = TaskbarManager.GetDefault();

    // Check if taskbar allows pinning
    // It can be blocked for reasons(no taskbar || blocked by Policy || ...)
    if (taskbarManager?.IsPinningAllowed == false)
        return;

    // Check if the application is currently pinned
    bool isPinned = await taskbarManager.IsCurrentAppPinnedAsync();
    if (isPinned == false)
    {
        // Try to pin application and get result whether it succeeded
        bool didPin = await TaskbarManager.GetDefault().RequestPinCurrentAppAsync();        
    }
}


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接