Automatically embed multiple icons in a .NET Executable

后端 未结 4 836
Happy的楠姐
Happy的楠姐 2021-01-19 01:50

I basically have the same issue as this question: Embed multiple icons in WPF EXE

My .NET 2.0 WinForms application currently has this when you click \"Change Icon\"

4条回答
  •  逝去的感伤
    2021-01-19 02:28

    For me the simplest solution to that problem is to create a .res file, which includes only icons you need (and stores them in your preferred order), disable a main icon in project properties and merge previously prepared icon pack (.res file) to your final .exe file, doing it in post-build event. Although, if this process can be fully automated and keep your manifest data unchanged, it needs in last step a external tool (ResHacker), which allow you to do a .res file merging job via command line (of course, Visual Studio can do this, but as far I know there are no command line interface to achieve it - if I'm wrong, please correct me).

    1. Download a blank .res file (http://www.codeproject.com/Tips/160885/How-to-Embed-Multiple-Icons-and-Color-Animated-Cur.aspx) and add it to your project

    2. Fill out previously added .res file with your icons

    3. Remove main icon from your project (Project -> Properties)

    4. Download a ResHacker tool (http://www.angusj.com/resourcehacker/) and place it wherever you want

    5. Add similar line to your post-build event:

      if $(ConfigurationName) == Release (
        ..\..\..\..\..\Tools\ResHack\ResHacker.exe -add $(TargetPath), $(TargetPath), $(ProjectDir)Properties\AssemblyWin32.res ,,,
      )
      

    That's all. Everytime you compile your project in Release mode you will get a wanted icons to your destination .exe file.

提交回复
热议问题