How to perform “shell” icon embedding in Visual Studio 2010?

前端 未结 2 477
离开以前
离开以前 2020-12-04 00:51

As far as I can tell, there have been (at least?) three types of icon embedding. There\'s the original style used by shell32.dll and friends, .NET\'s embedding, and the new

相关标签:
2条回答
  • 2020-12-04 01:05

    I'd highly recommend taking a look at this solution posted here (http://einaregilsson.com/add-multiple-icons-to-a-dotnet-application/). It integrates right into a ms build post build event and doesn't require an unmanaged project (to create an assembly from a .rc/.res file).

    This removes a dependency on managing a second solution / assembly anytime you want update an icon and saves you from IL Merging the compiled c++ assembly.

    I'd also recommend taking a look at WIX for your deployment. I've written a guide that accompanies this answer located here.

    0 讨论(0)
  • 2020-12-04 01:16

    I never heard the term "icon embedding" before. If you are talking about the icon that's visible for a EXE or DLL in Explorer or a desktop shortcut: that's done the same way for any Windows program. Both WF and WPF give the assembly an unmanaged resource with the selected icon using the /win32res compile option. You can see it in Visual Studio with File + Open + File, select the EXE or DLL.

    To create a .res file, first create a .rc file. You can create one with the C++ IDE. Right-click the solution, Add New Project, Visual C++, Win32, Win32 Console Application. Right-click the Resource Files folder, Add + Resource, select Icon, Import. select your file. Repeat as needed. After you build, you'll get a .res file in the project's Debug build directory.

    Back to your C# project, Project + Properties, Application tab. Select the Resource File option and navigate to the .res file.

    0 讨论(0)
提交回复
热议问题