2013-08-06 43 views
0

我已經使用Visual Studion 2012的Visual Studio - 應用程序圖標 - PowerPoint中的加載項

我從來沒有做過這一點,並從文件/新建/ PowerPoint 2010中的插件項目的開工寫一個PowerPoint插件。

這創建了一個「類庫」項目。

所以我寫了我的插件,它的作品完美。快樂的時光!

但是,當應用程序安裝在計算機上時,控制面板/安裝軟件中的圖標是默認圖標。

通常情況下,我希望能夠進入項目屬性/應用程序,並選擇我想使用的圖標,但我唯一的選擇是選擇一個資源文件。

我已將.ico文件添加到我的資源,但似乎無法解決如何使其成爲項目的圖標。

任何人都可以幫忙嗎?

對不起,忘了說,這是使用「ClickOnce」分發系統進行安裝。我查看了「發佈」屬性選項卡,並且沒有任何內容可以定義應用程序圖標。

感謝

特雷弗

+0

也許這是你在找什麼: http://stackoverflow.com/questions/2041291/how-to-change-windows-applicatoins-default-icon-in-setup-project – br1

+0

感謝但這不是我想要的。 –

回答

0

看起來這不是什麼從這個線程說可能....

,因爲它是一個.dll操作系統決定分配給它什麼圖標。

崔佛

Add Icon to Visual Studio 2008-Built Class Lib DLL?

+0

我認爲該主題是討論文件圖標,而不是控制面板/安裝軟件菜單中的圖標。 – br1

1

好了,現在我知道的ClickOnce參與,我認爲你可以找到的代碼有用此peice的。 它必須在應用程序啓動時運行。 該代碼直接編輯註冊表,因此在某些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, ...) 
    } 
    } 
} 
+0

這確實看起來像一個可能的解決方案,但是由於你提到的註冊表差異,實施它是否存在謹慎?謝謝!! –

相關問題