How to add icon to wpf Application in Visual Studio Code - c#

I am trying to add file.ico to my WPF Application. I know that in Visual Studio it's easier, however I am confused about how to add it in Visual Studio Code. So Basically I want to add the file.ico in the project folder such that the app also works on other computers.
Note: it works when I add the full path in the MainWindow.xaml ( Icon="Path\file.ico" ), but instead I want to write just Icon="file.ico" (the file.ico can also be in a folder in the project). I know that I need to add resources in the App.xaml and Project.csproj , but I don't know how.
WPF is a relatively new topic for me and I would appreciate any help.
Thanks in advance

I have found a solution, which is pretty simple: add this code to .csproj file
<ItemGroup>
<Folder Include="Assets\" />
<Resource Include="Assets/file.ico" />
</ItemGroup>
and then added this code to MainWindow.xaml file: Icon="/Assets/file.ico"

I've seen a number of approaches to this problem that suggest using NotifyIcon from Windows.Forms to instantiate and show the icon. This overly complex. The good news is there is no need for this in WPF. It is extremely simple to add the application icon in WPF using Visual Studio.
Right click on the top level project folder in the solution explorer and go to properties.
The application properties window opens.
Click on Win32 Resources. Browse for the icon file in your project. Images of type .png or .jpg won't work. Google "png to ico" and you can get the ico file for free. Close the application properties window. Your done.
You will now see the icon in the System Tray and in the upper left corner of each window (if you use a variation of the default window style).

Right click on your solution and click: Add > New folder. You can call it whatever you want for example 'Assets'. Right click on that folder and click add existing item. Make sure to change the file type to All files. Navigate over to your icon file and double click it. When it's imported click on it and make sure Build action is set to 'Content'.
You can also use .png images for your icon

Related

The application icon remains the same

I made a WPF application (.net core 3.1) and then towards the end I wanted to change the icon, as usual I opened the properties>application and loaded my icon. But it doesn't change anything... remains the same default icon.
The size of my icon is 256x256 and obviously has an .ico format. I tried to delete the folder where the executable is located and to build again, I also tried to run the application without debugging mode, but nothing. I noticed, however, that the main window when you change the Icon attribute updates the window icon. But nothing to do for the .exe file.
Does anyone know how to solve this problem?
P.S. I don't think it's the icon the problem because I tried to load another icon that I used in the past with another WPF application
Right click on your solution in Solution Explorer and click on "Rebuild Solution" or "Clean Solution" followed by "Build Solution".

Visual Studio - Web Project - add existing area folder

We have a big Web Project with Many areas. One area is not included into the project, but its folder exists on the disk (and I also added it to Source Control).
I cannot figure out how to add that Area into the project. There seems to be no option for this. I am using Visual Studio 2017.
Above the solution tree is a button to show all files in the folder.
When you click it, your folder will appear in the solution.
On this folder click right "Add to solution".
Now your folder is part of the solution and you can hide the unnecessary items.
You may need to manually edit the csproj file. In windows explorer navigate to your directory and right click to edit the csproj (something like notepad++ works really well). Then locate the ItemGroup section that contains all the elements. Add a new one with your Folder\controller.cs. Save the changes. You'll need to reload the project in VS (if you have it open) to see the changes.
<ItemGroup>
<!--Other compile includes-->
<Compile Include="MissingArea\XController.cs"/>
</ItemGroup>

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.
I'm not aware of any way to change the icon BEFORE building the project so that once the ClickOnce is deployed it already has the icon, however you can edit the setup.exe icon AFTER deployment quite easily. If anyone else knows of a way to do it before then they can trump my answer.
In Visual Studio go to File > Open > File and browse to the setup.exe for your ClickOnce deployment. Open this file.
You should see a folder tree. Right click on the Icon node and choose Add Resource.
It should already have the Icon resource type chosen on the left so click Import on the right to add your icon.
Your icon will open up in Visual Studio, just close this tab. You should be back to your folder tree. Look under the Icon node and make sure your icon has the lowest ID number.
Save the file.
Your setup.exe will now have the new icon.
Disclaimer: For me Windows was weird and didn't refresh the icon right away. If I went to its properties or copied the file elsewhere I could see the icon immediately. I imagine it's a caching thing.
Edit: Screenshot:
Double-click on the properties for your main project.
Click on the Application tab. (I'm assuming C# here. If you're doing VB, post back if it's different and I'll see if it's the same.)
In the middle of the page, there is an option for "icon and manifest".
Browse to find the icon you want to use and select it.
It needs to be in the top folder of your project; I think it will put it there when you select it.
The icon will be deployed with your project, and will be used in the Start Menu. (You can doublecheck the Application Files dialog -- it should be in there marked include(auto)).
You can set the icon on the forms to point to the same icon, and show it on all your forms too.
this link got your answer:
ClickOnce start menu icon

replacing application icon after build

I need to brand a specific white labeled app and it needs to get the appropriate app icon, so that when I browse to the exe in file explorer it shows with the branded icon. I dont mean changing the icon at runtime because that is not a problem.
I have tried accessing the assemblies with mono.cecil and replacing the resource called "app.ico" but it doesnt seem to work. I also tried to use pack URIs in xaml but that doesnt work because at compile time I dont know where the branding resources are located.
I know that this can possibly be done during a pre-build event but I prefer replacing the icon after the exe is built.
Any ideas?
In the 'Solution Explorer' in Visual Studio, select the startup project. Either right click on it and select 'Properties', or just press Alt+Enter on the keyboard to open the project properties. On the 'Application' tab, you should see a 'Resources' section. Click on the 'Icon and manifest' and select an icon for your application. Is that what you were talking about?

How do I embed a banner image and or add remove programs icon in my setup project?

I'm using a setup project in visual studio 2010 to create an installer for a program I'm working on. I want to have a custom banner image in my setup as well as a custom icon in add remove programs.
I've added both these images to the "Application Folder" of my installer and was able to get them to show up correctly. However, my program is not very big and only installs as an EXE and a few DLLs. So it seems a little silly to me that the 4th and 5th files that get "installed" are graphics only used during installation.
Is there some way I can embed these images in the installer or one of my other projects?
I'm currently using VS 2008 and just been playing around with the setup project. I believe the following works - it did in my tests.
Select the setup project in the solution explorer window.
Right click and select Add/File
Find your banner Image file and add it.
You will see that it's been added to the Application folder.
Select the banner file in the application folder - or in the project list on the solution explorer.
Open the Properties Window
On the properties set "EXCLUDE" to TRUE.
When you set exclude to true you will see the banner file removed from application folder - but it will still be shown in the project tree - the icon will for the file will have a little red circle with a line through it.
I've done this with both the banner and a custom icon and tested my install - worked fine with both and neither file showed up in the application folder.
Hope this helps.
In the setup project properties you can put an image for the add/remove icon in the property AddRemoveProgramsIcon
For the banner image, right click on the setup project, View -> User Interface, click on the page you want, and then in the properties you want the BannerBitmap property.
This blog discusses a way to change the banner image without modifying the Visual Studio project.
If you want to change of the icon of the application EXE, then you just need to right click on the EXE and "create shortcut". In the properties you will find the icon and you can change it.

Categories