Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/293.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 广告捷径_C#_Winapi_Installation_Windows Installer_Shortcut - Fatal编程技术网

C# 广告捷径

C# 广告捷径,c#,winapi,installation,windows-installer,shortcut,C#,Winapi,Installation,Windows Installer,Shortcut,有没有办法用C#或WinAPI函数以编程方式创建广告快捷方式(例如,请参见MS Office快捷方式) 我只找到了从这些快捷方式获取/读取信息的方法以及MSI创建这些快捷方式的知识,但没有创建它们的方法(没有MSI安装程序) 作为此类快捷方式的副作用,它们在Properties Window中不可编辑,我想创建此类“不可编辑”的快捷方式(就像MS Office一样-我对其他广告快捷方式功能不感兴趣)不太可能。广告快捷方式的目标是已安装产品组件的密钥文件。这样,当您单击它时,它可以进行健康检查 如

有没有办法用C#或WinAPI函数以编程方式创建广告快捷方式(例如,请参见MS Office快捷方式)

我只找到了从这些快捷方式获取/读取信息的方法以及MSI创建这些快捷方式的知识,但没有创建它们的方法(没有MSI安装程序)


作为此类快捷方式的副作用,它们在Properties Window中不可编辑,我想创建此类“不可编辑”的快捷方式(就像MS Office一样-我对其他广告快捷方式功能不感兴趣)

不太可能。广告快捷方式的目标是已安装产品组件的密钥文件。这样,当您单击它时,它可以进行健康检查

如果没有MSI,这一切都是不可能的

ShellAPI可能会公开WindowsInstaller的CreateShortcut操作正在使用的函数,但我确信它会将ProductCode和ComponentID等作为参数


现在,如果您是使用MSI安装的,我想可以使用DTF创建已安装MSI的副本,更新快捷方式表并重新设置产品,从而创建广告快捷方式。但我猜你不是这么想的。

不太可能。广告快捷方式的目标是已安装产品组件的密钥文件。这样,当您单击它时,它可以进行健康检查

如果没有MSI,这一切都是不可能的

ShellAPI可能会公开WindowsInstaller的CreateShortcut操作正在使用的函数,但我确信它会将ProductCode和ComponentID等作为参数


现在,如果您是使用MSI安装的,我想可以使用DTF创建已安装MSI的副本,更新快捷方式表并重新设置产品,从而创建广告快捷方式。但是我猜这不是你想要的。

虽然你不能在不涉及Windows Installer的情况下创建MSI广告的快捷方式,但你可以创建指向任何Shell命名空间对象的快捷方式(这是Windows Installer的全部功能)。这首先需要一个shell扩展DLL和自定义代码来实际创建快捷方式

有关更多详细信息,请参阅MSDN和


如果您只是想提供延迟安装,您可以将快捷方式指向一个存根可执行文件,该存根可执行文件可触发任何检查和安装(如果需要)。

如果不涉及Windows Installer,您无法创建MSI播发的快捷方式,您可以创建指向任何Shell命名空间对象的快捷方式(这是Windows Installer的全部功能)。这首先需要一个shell扩展DLL和自定义代码来实际创建快捷方式

有关更多详细信息,请参阅MSDN和


如果您只是想提供延迟安装,您可以将快捷方式指向一个存根可执行文件,该存根可执行文件可触发任何检查和安装(如果需要)。

它们是否需要是真正的广告快捷方式?您可以使用执行检查/安装的存根程序的快捷方式。这和广告中的快捷方式是一样的。自愈功能也是一样的,但我很感兴趣的是是否有办法创建“不可编辑”的快捷方式。如果你真的想要“不可编辑”的快捷方式,你能调整你的问题以适应吗?广告的快捷方式只是“不可编辑”(在资源管理器中)快捷方式的一种情况。@Deanna哦,对不起,你是对的。编辑;-)它们需要是真实的吗?您可以使用执行检查/安装的存根程序的快捷方式。这和广告中的快捷方式是一样的。自愈功能也是一样的,但我很感兴趣的是是否有办法创建“不可编辑”的快捷方式。如果你真的想要“不可编辑”的快捷方式,你能调整你的问题以适应吗?广告的快捷方式只是“不可编辑”(在资源管理器中)快捷方式的一种情况。@Deanna哦,对不起,你是对的。编辑;-)“不是真的”。但如果没有办法,msi如何创建这样的快捷方式?@wischi,因为它是指向Windows Installer对象的快捷方式。如果不涉及Windows Installer,则无法创建Windows Installer对象。“不太可能”。但如果没有办法,msi如何创建这样的快捷方式?@wischi,因为它是指向Windows Installer对象的快捷方式。如果不涉及Windows Installer,则无法创建Windows Installer对象。