我在一些ClickOnce帖子中读到,ClickOnce不允许您为应用程序创建桌面图标。有什么办法可以解决这个问题吗?
brc7rcf01#
似乎有一种方法可以在ClickOnce中在桌面上放置图标。1.升级到Visual Studio 2008 SP 1,项目属性窗口的发布部分的选项页中将有一个放置在桌面上的图标复选框。1.第二种选择是向应用程序添加代码,在应用程序第一次运行时将快捷方式复制到桌面。查看博客文章 How to add Desktop Shortcut to ClickOnce Deployment Application。
laawzig22#
在Visual Studio 2005中,ClickOnce不具备创建桌面图标的功能,但现在在Visual Studio 2008 SP1中提供了它。在VisualStudio2005中,可以使用下面的代码在应用程序启动时为您创建桌面图标。我已经在几个项目中使用了这段代码几个月了,现在没有任何问题。我必须说,我所有的应用程序都部署在受控环境中的Intranet上。此外,当卸载应用程序时,图标不会被移除。此代码创建ClickOnce在“开始”菜单上创建的快捷方式的快捷方式。
private void CreateDesktopIcon() { ApplicationDeployment ad = ApplicationDeployment.CurrentDeployment; if (ad.IsFirstRun) { Assembly assembly = Assembly.GetEntryAssembly(); string company = string.Empty; string description = string.Empty; if (Attribute.IsDefined(assembly, typeof(AssemblyCompanyAttribute))) { AssemblyCompanyAttribute ascompany = (AssemblyCompanyAttribute)Attribute.GetCustomAttribute( assembly, typeof(AssemblyCompanyAttribute)); company = ascompany.Company; } if (Attribute.IsDefined(assembly, typeof(AssemblyDescriptionAttribute))) { AssemblyDescriptionAttribute asdescription = (AssemblyDescriptionAttribute)Attribute.GetCustomAttribute( assembly, typeof(AssemblyDescriptionAttribute)); description = asdescription.Description; } if (!string.IsNullOrEmpty(company)) { string desktopPath = string.Empty; desktopPath = string.Concat( Environment.GetFolderPath(Environment.SpecialFolder.Desktop), "\\", description, ".appref-ms"); string shortcutName = string.Empty; shortcutName = string.Concat( Environment.GetFolderPath(Environment.SpecialFolder.Programs), "\\", company, "\\", description, ".appref-ms"); System.IO.File.Copy(shortcutName, desktopPath, true); } } } }
ulydmbyx3#
在Visual Studio 2017和2019中,您可以执行以下操作:进入项目属性->发布->清单,选择创建桌面快捷方式
3zwtqj6y4#
桌面图标可以是.application文件的快捷方式。安装它是应用程序要做的第一件事之一。
.application
643ylb085#
如果你想使用powershell,你可以创建.bat文件的快捷方式:
@ECHO OFF PowerShell -ExecutionPolicy Unrestricted .\script.ps1 >> "%TEMP%\StartupLog.txt" 2>&1 EXIT /B %errorlevel%
以静默方式运行script.ps1:
$app = "http://your.site/YourApp/YourApp.application"; [Diagnostics.Process]::Start("rundll32.exe", "dfshim.dll,ShOpenVerbApplication " + $app);
打开您的ClickOnce应用。
sq1bmfud6#
如果有人使用Visual Studio 2022查找设置选项,
选择它。
6条答案
按热度按时间brc7rcf01#
似乎有一种方法可以在ClickOnce中在桌面上放置图标。
1.升级到Visual Studio 2008 SP 1,项目属性窗口的发布部分的选项页中将有一个放置在桌面上的图标复选框。
1.第二种选择是向应用程序添加代码,在应用程序第一次运行时将快捷方式复制到桌面。查看博客文章 How to add Desktop Shortcut to ClickOnce Deployment Application。
laawzig22#
在Visual Studio 2005中,ClickOnce不具备创建桌面图标的功能,但现在在Visual Studio 2008 SP1中提供了它。在VisualStudio2005中,可以使用下面的代码在应用程序启动时为您创建桌面图标。
我已经在几个项目中使用了这段代码几个月了,现在没有任何问题。我必须说,我所有的应用程序都部署在受控环境中的Intranet上。此外,当卸载应用程序时,图标不会被移除。此代码创建ClickOnce在“开始”菜单上创建的快捷方式的快捷方式。
ulydmbyx3#
在Visual Studio 2017和2019中,您可以执行以下操作:
进入项目属性->发布->清单,选择创建桌面快捷方式
3zwtqj6y4#
桌面图标可以是
.application
文件的快捷方式。安装它是应用程序要做的第一件事之一。643ylb085#
如果你想使用powershell,你可以创建.bat文件的快捷方式:
以静默方式运行script.ps1:
打开您的ClickOnce应用。
sq1bmfud6#
如果有人使用Visual Studio 2022查找设置选项,
选择它。