Visual Studio-应用程序图标-PowerPoint加载项
本文关键字:-PowerPoint 加载项 图标 应用程序 Studio- Visual | 更新日期: 2023-09-27 18:26:31
我使用Visual Studion 2012编写了一个PowerPoint插件。
我以前从未这样做过,从File/New/powerpoint 2010插件开始了这个项目。
这创建了一个"类库"项目。
所以我写了我的addin,效果很好。快乐的日子!
但是,当应用程序安装在计算机上时,控制面板/已安装软件中的图标是默认图标。
通常,我希望能够进入项目属性/应用程序并在那里选择我想要使用的图标,但我唯一的选择是选择资源文件。
我已经将.ico文件添加到我的资源中,但似乎无法确定如何使其成为项目的图标。
有人能帮忙吗?
抱歉,忘记说了,这是使用"ClickOnce"分发系统安装的。我查看了"发布"属性选项卡,其中也没有定义应用程序图标的内容。
感谢
Trevor
好的,既然我知道了ClickOnce的参与,我想你可以找到有用的代码。它必须在应用程序启动时运行。代码直接编辑注册表,因此在某些Windows版本中可能会有所不同。
/// <summary>
/// change the icon in add/remove programs
/// </summary>
private static void SetProgramInstallIcon()
{
//run only when deployed
if (System.Deployment.Application.ApplicationDeployment.IsNetworkDeployed
&& ApplicationDeployment.CurrentDeployment.IsFirstRun)
{
try
{
string iconSourcePath = Path.Combine(System.Windows.Forms.Application.StartupPath, "YourFancyIcon.ico");
if (!File.Exists(iconSourcePath))
return;
RegistryKey myUninstallKey = Registry.CurrentUser.OpenSubKey(@"Software'Microsoft'Windows'CurrentVersion'Uninstall");
string[] mySubKeyNames = myUninstallKey.GetSubKeyNames();
for (int i = 0; i < mySubKeyNames.Length; i++)
{
RegistryKey myKey = myUninstallKey.OpenSubKey(mySubKeyNames[i], true);
object myValue = myKey.GetValue("DisplayName");
if (myValue != null && myValue.ToString() == "YourApplicationDisplayName")
{
myKey.SetValue("DisplayIcon", iconSourcePath);
break;
}
}
}
catch (Exception ex) {
//manage errors as you like (log, UI, ...)
}
}
}
从这个线程的内容来看,这似乎是不可能的。。。。
由于它是一个.dll,操作系统决定分配给它什么图标。
Trev
是否将图标添加到Visual Studio 2008内置类库DLL?