天道酬勤,学无止境

How set icon for ClickOnce

Tried example for set icon in ClickOnce installation, but get no progress. In publish->Options->File Associations set extension for .application and selected my icon. Maybe i looking for wrong way to set icon, but my app.appref-ms still have default icon.

评论

Have you tried reinstalling the app, source: ClickOnce start menu icon. There are many solutions provided by the contributers of the aforementioned source, some indicating that it might be in the size of the icon.ico file or that the file wasn't marked included prior to the deployment. Hopefully you'll find your answer there.

受限制的 HTML

  • 允许的HTML标签:<a href hreflang> <em> <strong> <cite> <blockquote cite> <code> <ul type> <ol start type> <li> <dl> <dt> <dd> <h2 id> <h3 id> <h4 id> <h5 id> <h6 id>
  • 自动断行和分段。
  • 网页和电子邮件地址自动转换为链接。

相关推荐
  • “添加或删除程序”中ClickOnce应用程序的自定义图标(Custom icon for ClickOnce application in 'Add or Remove Programs')
    问题 使用Mage创建的ClickOnce应用程序不会在控制面板“添加或删除程序”中显示为Mage命令行参数指定的图标。 我读了一些博客,例如: 应用程序图标未显示在“添加/删除程序”对话框中 ClickOnce应用程序的添加/删除程序中缺少图标 如何在不编辑注册表项的情况下实现此目的? 可能吗? 回答1 如果不编辑注册表,则无法执行此操作,但是您可以通过编程方式进行。 您必须确保该图标包含在部署中。 我们将程序集描述设置为与产品名称相同的字符串,因此我们可以通过搜索程序集描述来查看卸载字符串以找到正确的应用程序。 这样,我们不必在此代码中对产品名称进行硬编码。 private static void SetAddRemoveProgramsIcon() { //only run if deployed if (System.Deployment.Application.ApplicationDeployment.IsNetworkDeployed && ApplicationDeployment.CurrentDeployment.IsFirstRun) { try { Assembly code = Assembly.GetExecutingAssembly(); AssemblyDescriptionAttribute asdescription =
  • How to change Setup.exe icon when publishing through clickonce
    Is there any way to set custom icon for setup.exe file when publishing through VS for click once publish. Always after publishing, I am getting setup.exe file and with the icon (kind of black disc image) but after installing the application, I can see my custom logo on the startmenu,ctrlpanel.
  • 我可以为ClickOnce应用程序创建桌面图标吗?(Can I create a desktop icon for a ClickOnce application?)
    问题 我已经阅读了一些ClickOnce帖子,其中说ClickOnce不允许您为应用程序创建桌面图标。 有没有办法解决? 回答1 在Visual Studio 2005中,ClickOnce无法创建桌面图标,但是Visual Studio 2008 SP1现在提供了该功能。 在Visual Studio 2005中,您可以使用以下代码在应用程序启动时为您创建一个桌面图标。 我已经在几个月的项目中使用了此代码几个月,没有任何问题。 我必须说,我所有的应用程序都已在受控环境中通过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
  • Custom icon for ClickOnce application in 'Add or Remove Programs'
    A ClickOnce application created using Mage is not showing the icon that was specified in for the Mage command-line parameter in control panel Add or Remove Programs. I read some blogs, like: Application icon is not displayed in Add/Remove Programs dialog Missing Icon in Add/Remove Programs for ClickOnce Application How can I achieve this without editing registry keys? Is it possible?
  • How to get command line from a ClickOnce application?
    Before publishing I went to Project -> Properties -> Options -> File Associations and added the extension ".hsp". Set an icon and a ProgID ("MyCompany.Document.1" for testing). After I published and installed, my .hsp files had the icon I set, so the file association should be properly set, but when I double clicked one of these files the application run and I expected the name of the file I double clicked to be in the command line. I tried reading the parameter passed to my Main function, tried Environment.CommandLine, and tried Environment.GetCommandLineArgs(), but the only thing I found was
  • 发布同一ClickOnce应用程序的多个版本的最佳方法是什么?(What is the best way to publish multiple versions of the same ClickOnce application?)
    问题 我有一个ac#ClickOnce应用程序,为了OEM目的,我需要能够多次发布该应用程序。 我现在了解的方式是发布设置位于.csproj文件中。 但是,这在我要发布多个版本的情况下很不方便。 例如,公司A需要与公司B完全不同的图标,开始菜单位置,产品名称等,但是不需要重命名程序集。 我可以考虑以下几种方法/问题来解决此问题... 1.是否可以创建一个单独的发布设置文件以在构建期间使用? 2.我可以在构建时使用MSBuild.exe编辑特定的发布设置(例如“开始菜单”位置等)吗? 我认为这将是理想的...例如 MSBuild.exe project.sln / target:发布/属性: edit-project-publish-settings-此处 3.也许创建第二个.csproj文件? (宁愿不这样做...) 请分享您对最佳方法或其他实现此目标的聪明方法的想法。 谢谢! 回答1 如果将.csproj复制到项目文件夹中,它将引用所有相同的源文件,您只需更改可执行文件的名称即可。 创建另一个VS解决方案,您可以引用复制的.csproj并摆脱第一个解决方案,以便可以发布两个单独的版本。 但是,这对于ClickOnce而言并不理想。 如果使用指定“模式”(公司A,B,C等)的Singleton对象,则可以轻松地将其存储在app.config(或另一个xml文件)中。 然后
  • Can I create a desktop icon for a ClickOnce application?
    I have read in some of the ClickOnce posts that ClickOnce does not allow you to create a desktop icon for you application. Is there any way around this?
  • 有没有办法在“添加或删除程序”中更改ClickOnce应用程序的图标?(Is there a way to change the icon of a ClickOnce application in 'Add or Remove Programs'?)
    问题 我有一个使用ClickOnce技术部署的Windows应用程序。 有没有办法更改图像中显示的该应用程序的图标? 回答1 以下代码是我用来解决问题的代码。 我在“添加或删除程序”中为ClickOnce应用程序使用了堆栈溢出问题“自定义”图标。 private static void SetAddRemoveProgramsIcon() { //only run if deployed if (System.Deployment.Application.ApplicationDeployment.IsNetworkDeployed && ApplicationDeployment.CurrentDeployment.IsFirstRun) { try { Assembly code = Assembly.GetExecutingAssembly(); AssemblyDescriptionAttribute asdescription = (AssemblyDescriptionAttribute)Attribute.GetCustomAttribute(code, typeof(AssemblyDescriptionAttribute)); // string assemblyDescription = asdescription.Description; //the icon
  • .NET 中 ClickOnce/智能客户端部署的陷阱/问题[关闭](Pitfalls/gotchas of ClickOnce/smart-client deployment in .NET [closed])
    问题 就目前而言,这个问题不适合我们的问答形式。 我们希望答案得到事实、参考或专业知识的支持,但这个问题可能会引起辩论、争论、投票或扩展讨论。 如果您认为此问题可以改进并可能重新打开,请访问帮助中心以获取指导。 8 年前关闭。 我有几个 .NET Windows 窗体应用程序,我正准备将它们转换为 ClickOnce/智能客户端部署方案。 我已经阅读了不是很好的教程,但是否存在我应该注意的陷阱或“陷阱”? 有几个小应用程序断断续续地使用,但主要应用程序使用 C#,24/7 全天候运行,非常大,但每隔几周才会更改一次。 它还在本地写入日志文件并与本地硬件设备通信。 回答1 以下是我所知道的一些。 无法在桌面上放置图标。 你现在可以。 我无法为所有用户安装。 我需要跳过箍以将部署移动到不同的服务器。 如果您在内部开发,这不是问题,并且用户可以看到您发布到的服务器,或者您正在部署到公共网络,但如果您需要独立地部署到多个客户站点,那就不是很好了。 从 .NET 3.5 SP1 开始,您不再需要签署部署清单,这使得将部署移动到新服务器变得更加容易。 我无法在 GAC 中安装程序集。 您可以通过创建作为 ClickOnce 应用程序先决条件的常规安装包来解决此问题。 回答2 部署更新后,内置对话框将使其看起来好像整个应用程序正在重新下载。 实际上,只有更改的 DLL 正在下载
  • 单击一次-所有用户(Click Once - All Users)
    问题 如何配置一次单击即可为所有用户安装应用程序。 在另一个论坛上,我必须“使用MSI”-谢谢-但是如何。 另外,第一个安装用户可能不是管理员-这可能是个问题。 我希望所有用户触发更新检查。 没有本地存储,它是WCF服务的WPF客户端。 我们是XP,内部的。 回答1 如果您需要为PC上的所有用户安装/升级,则不能选择Clickonce。 Clickonce旨在为没有管理权限的单个用户安装应用程序。 您将需要创建MSI安装程序,以将应用程序分发到同一台计算机上的多个用户。 当客户端没有管理权限时,有多种方法可以在客户端上部署和更新应用程序。 几个例子: 在Active Directory中发布您的MSI,安装和升级不需要管理特权。 使用System Center Update Publisher(SCUP)将您的应用程序发布到Windows Server Update Services(WSUS)。 使用WSUS,您可以部署Microsoft更新和您的应用程序。 WSUS和SCUP均可免费下载。 使用组策略提升安装程序(不建议使用解决方案!),以使非管理员可以为所有用户安装MSI。 希望这可以帮助。 回答2 自启动以来,ClickOnce无法按照您的想法进行安装,它只是一个URL(http://server/myapp/myapp.application)。 因此
  • Is there a way to change the icon of a ClickOnce application in 'Add or Remove Programs'?
    I have one Windows application which is deployed using ClickOnce technology. Is there a way to change the icon of that application which is shown in the image?
  • 当存储的数据类型发生变化时,如何升级 Settings.settings?(How do you upgrade Settings.settings when the stored data type changes?)
    问题 我有一个应用程序,它在用户设置中存储一组对象,并通过 ClickOnce 进行部署。 应用程序的下一个版本具有用于存储对象的修改类型。 例如,之前版本的类型是: public class Person { public string Name { get; set; } public int Age { get; set; } } 新版本的类型是: public class Person { public string Name { get; set; } public DateTime DateOfBirth { get; set; } } 显然, ApplicationSettingsBase.Upgrade不知道如何执行升级,因为 Age 需要使用(age) => DateTime.Now.AddYears(-age)进行转换,因此只会升级 Name 属性,而 DateOfBirth 只会具有默认值(日期时间)。 所以我想提供一个升级例程,通过覆盖ApplicationSettingsBase.Upgrade ,它将根据需要转换值。 但是我遇到了三个问题: 当尝试使用ApplicationSettingsBase.GetPreviousVersion访问先前版本的值时,返回的值将是当前版本的对象,它没有 Age 属性并且有一个空的 DateOfBirth 属性
  • 如何在启动时运行一次单击一次部署的应用程序?(How can I make a Click-once deployed app run at startup?)
    问题 如何让一次点击部署的应用程序运行启动? 我通过搜索找到的最佳选择是将应用程序上的发布者设置为启动,因此开始菜单快捷方式将放置在启动文件夹中,但这似乎是一个巨大的黑客,我希望有一个开始菜单图标可以找到。 我有哪些选择? 回答1 我觉得将你的应用程序添加到启动文件夹是不专业的。 我强烈建议使用启动注册表项来启动您的应用程序。 与该主题的许多材料所说的相反,设置一个键来启动单击一次应用程序非常简单,并且不需要设置额外的快捷方式。 您只需使用安装时创建的快捷方式: // The path to the key where Windows looks for startup applications RegistryKey rkApp = Registry.CurrentUser.OpenSubKey( @"SOFTWARE\Microsoft\Windows\CurrentVersion\Run", true); //Path to launch shortcut string startPath = Environment.GetFolderPath(Environment.SpecialFolder.Programs) + @"\YourPublisher\YourSuite\YourProduct.appref-ms"; rkApp.SetValue("YourProduct"
  • What is the best way to publish multiple versions of the same ClickOnce application?
    I have a c# ClickOnce application that I need to be able to publish multiple times for OEM purposes. The way I understand it now is that publish settings are located in the .csproj file. However, this is inconvenient in the case where I want to publish multiple versions. for example, Company A needs totally different icons, start menu location, product name etc. from Company B, but the assemblies need not be renamed. Here are a couple approaches/questions that I can think of to solve this issue... 1.Is there a way to create a separate publish settings file to use during build time? 2.Can I
  • WPF ClickOnce DPI感知每个监视器v2(WPF ClickOnce DPI awareness Per-Monitor v2)
    问题 我将设置此问题并自己回答,以便其他人可以轻松地搜索并找到正确的答案。 我不得不谷歌搜索几个小时,并从多个来源汇编最终结果... 因此,问题是-如何在ClickOnce场景(特别是WPF,特别是c#)中启用Per-Monitor v2 DPI感知? 在Win 10 Creators Update(1703)中添加了Per-monitor v2。 众所周知,ClickOnce不支持在app.manifest文件中声明的DPI感知,像这样。 回答1 首先,任何想大声疾呼的人(仅针对.NET 4.6.2,每个监视器的DPI感知默认情况下都是启用的),这根本不是事实。 .NET 4.6.2中默认情况下启用的是幕后的样板代码-窗口声明代码中非常讨厌的c ++钩子,以启用对每个显示器dpi感知的支持。 您仍然必须通过app.manifest声明您支持每个显示器的dpi感知,但是ClickOnce不支持。 (请注意,除非您手动添加样板代码,否则即使使用应用程序清单,.NET的早期版本也不支持每个监视器的dpi意识) 现在来回答: 确保您的项目以.NET 4.6.2为目标。 (最容易为此使用Visual Studio 2017) 在装配体属性中禁用DPI感知。 相信我,我们稍后将在代码中重新启用它。 为此,请在项目“属性”节点下打开AssemblyInfo.cs
  • ClickOnce错误:值不在预期范围内(ClickOnce error: Value does not fall within the expected range)
    问题 在特定用户启动的所有ClickOnce应用程序上获取此错误。 这是在版本升级后开始发生的(但没有其他情况发生)。 我已经尝试过随后更改版本号,添加/删除,注册表清理,清除Local Settings \ Apps文件夹等。。。依旧没有运气。 本文指出用户配置文件损坏,但是我不能重新创建该用户。 还有其他清理思路吗? PLATFORM VERSION INFO Windows : 5.1.2600.196608 (Win32NT) Common Language Runtime : 2.0.50727.3082 System.Deployment.dll : 2.0.50727.3053 (netfxsp.050727-3000) mscorwks.dll : 2.0.50727.3082 (QFE.050727-3000) dfdll.dll : 2.0.50727.3053 (netfxsp.050727-3000) dfshim.dll : 2.0.50727.3053 (netfxsp.050727-3000) SOURCES Deployment url : file:///C:/Documents%20and%20Settings/<username>/Start%20Menu/Programs/<programname>/<programname>.appref
  • 如何将 QBFC13_0.msm 添加到 Clickonce(How to add QBFC13_0.msm to Clickonce)
    问题 网络上的任何地方似乎都没有记录有关如何执行此操作的分步过程。 如果提到它,它的记录很差,我无法遵循他们建议的复杂路径。 我是 ClickOnce 的新手,我已经能够让我的 c# 程序在用户机器上正确安装,但当然我得到了“22E88GD7-FB0B-B905-CCA6BD526B52”“类未注册”,这意味着我相信QBFC13 未安装在用户计算机上。 我的客户不希望使用 ClickOnce 之外的标准 QB 安装程序单独一次性安装 QBFC,他希望将其作为 ClickOnce 的一部分。 真的有那么复杂且记录不全的过程吗? 我见过的所有 google 搜索和 stackoverflow 条目都没有提供一种方法可以轻松或完全地做到这一点,以便新手可以做到。 帮助! 回答1 在 clickOnce 部署中,我们可以添加先决条件。 如果你添加 QBFC.exe 包,那么它会自动从你的部署服务器安装到客户端机器中。 要添加 QBFC 作为先决条件,它应该添加到部署服务器中的C:\Program Files (x86)\Microsoft SDKs\Windows\v8.0A\Bootstrapper\Packages 。 有一种用于命名转换的 XML。 但是,简单的方法是使用 引导程序清单生成器软件。 谢谢。 回答2 在 VS2012 中,您需要添加一个先决条件(项目属性 --> 发布
  • Clickonce App Doesn't start with Windows 1803
    I have a Clickonce app from Visual Studio 2015 SP3 that is published to the network server and used in-house only. The program works just fine when launched from Visual Studio. It runs just fine on a Windows machine that does not have the 1803 update. But once a machine updates to 1803, the application no longer starts. I get the "Checking for updates..." window then nothing. On a fresh install, I usually get the Smartscreen telling me the program may be dangerous. It doesn't get that far. I've created the Clickonce from a computer with the 1803 update and the problem still exists. I've
  • 生成的exe程序默认以管理员权限启动
    前言 我们知道,在有些时候,我们的程序是需要管理员权限的,没有管理员权限有些操作就无法执行。 有人说,直接右键,以管理员权限启动不就可以了! 这样确实可以解决,但是我们要站在普通用户的角度来看一些问题,如果一些操作失败,用户不知道是权限不足的原因呢?用户不会开启管理员权限呢?作为开发者,有些东西必须站在用户的角度来看。 软件:VS2012 操作 首先得写好窗体式程序 扣代码… 扣代码… 扣代码… 重要的事情说三遍!!! 正常生成的exe文件 拥有管理员权限的exe文件 可以观察图标的右下角有没有管理员Logo 没有就代表没有管理员权限有就代表应有最高管理员权限 生成 点击项目,点击属性 点击安全性,打开ClickOnce 然后关掉属性界面,查看解决方案多了一个app.manifest文件 打开app.manifest把默认的配置修改一下,通过代码的注释,可以知道需要修改的节点是【requestedExecutionLevel】 注释已经说得很详细了 asInvoker : 如果选这个,应用程序就是以当前的权限运行。 highestAvailable: 这个是以当前用户可以获得的最高权限运行。 requireAdministrator: 这个是仅以系统管理员权限运行。 找到<requestedExecutionLevel level="asInvoker" uiAccess=
  • 强制应用程序具有管理员权限(Forced the application to have the administrator privileges)
    问题 我需要授予我的应用程序管理员权限,知道它将从用户会话而不是管理员帐户运行。 我看过其他网站,但找不到任何有帮助的网站。 我尝试编辑清单文件,并插入以下行: <requestedExecutionLevel level="requireAdministrator" uiAccess="false" /> 尝试使用ClickOnce进行发布时,这给了我一个错误,但是当我调试时却没有。 你能帮助我吗? 回答1 首先-实际上,实际上是设计不允许的,并且需要以管理员身份安装和ClickOnce应用程序:http://msdn.microsoft.com/zh-cn/library/142dbbz4(v=vs.90).aspx 看看这篇文章:http://antscode.blogspot.ca/2011/02/running-clickonce-application-as.html-它说明了如何以管理员身份运行ClickOnce应用程序。 但是-必须说我走了这条路-而且我没有太多的运气。 我在使用这种方法时遇到了很多麻烦(尝试使用管理员权限运行ClickOnce应用程序)。 据我所知,最大的问题是自动更新无法正常工作。 更不用说非管理员用户可能需要一直输入管理员凭据。 因此,我的建议是重新考虑您的逻辑,并将需要作为管理员完成的部分封装在一个单独的EXE文件中-对用户来说很清楚