Blank icons in start menu - visual-studio-2010

There are no start menu icons showing up for my programs. This is a standard vs2010 setup project for a winforms project. I have set the icon for each start menu shortcut in the setup project's file system window, each executable has it's icon manifest set. The icons appear in windows explorer. I have recreated the setup project from scratch, didn't help. This used to work. Nothing I have tried today has fixed this it doesn't make sense. Any ideas appreciated.
Microsoft Visual Studio 2010
Version 10.0.40219.1 SP1Rel
Microsoft .NET Framework
Version 4.0.30319 SP1Rel

I've experienced this once quite some time ago, but frankly don't recall the exact cause right away - two things come to mind:
Icons can come in a wide variety of both size and color depth, so maybe you have chosen a combination of formats within the ICO file which doesn't cover the required formats for the particular version and/or configuration (color/dpi) of Windows you are using currently? Here are some resources:
The Icons section within the Windows User Experience Interaction Guidelines, specifically Color and saturation and Size requirements - please be aware of section For high dpi in particular.
Creating Windows XP Icons, which is definitely outdated, but still provides some useful insights regarding the respective Windows (Explorer) defaults, see e.g. Icon Design Overview.
Update - the following doesn't seem to apply here as per your comment: Another association is triggered by your statement each executable has it's icon manifest set: There could be an issue with 32 vs. 64 bit handling here, insofar Windows might pull all sorts of magic regarding respective executable treatment, e.g. regarding a 32 bit executable o a 64 bit host etc.
I'll try to dig further and recall my specific experience, but maybe this can provide some ideas for further exploration on your side already.
Good luck!

Related

Is there a documentation describing "full" windows directory structure?

I simply would like to have and study the way directories are in windows nt versions more specific 7, 10. I've searched a bit and i haven't found any kind of full documentation about that. I know it's complicated the way windows is, but theres got to be some fully described top-down documentation of windows default apllications and their location and why it is stored in that place and not any other.
I know i could identify each folder, app individually but thats not what i'm looking for.
I am not looking for information only about windows top directiories like that: https://en.wikipedia.org/wiki/Directory_structure
(Disclaimer: I worked at Microsoft and while I wasn't in OSG (I was in STB/DevDiv) I browsed enough of the internal documentation and Windows source-code out of my own curiosity to get a general idea - but don't take my answer as authoritative as I'm sure someone with better first-hand experience can probably answer better than I can)
I know it's complicated the way windows is, but theres got to be some fully described top-down documentation of windows default apllications and their location and why it is stored in that place and not any other.
Short answer: There isn't a publicly accessible single authoritative catalog or documentation of the C:\Windows\... filesystem structure. When I was at Microsoft there wasn't even a single catalog available internally (at least, not that I was aware of - again, I wasn't in OSG so there may have been some tribal knowledge I missed-out on - or it was buried in an internal SharePoint site) - though individual feature teams did generally keep their own documentation for the changes they introduced, of course - and at least tried to maintain any inherited documentation from older teams since disbanded - that said, there's also an intentional dearth of documentation and material internally regarding Windows between 1995 and 2002 thanks to the Sun Java lawsuit (the paranoid lawyers in LCA yanked all internal builds of Windows 95 through Windows XP SP1 and lots of associated documentation, unfortunately - I had to get special approval from my skip-level to get a copy of Windows 2000 when I was doing some historical research for my team in 2013).
As for "why" Windows's C:\Windows is the way it is - it's largely a product of its own history and Microsoft's honorable quest for backwards-compatibility rather than a contrived grand design. I recommend starting off at the beginning with Windows 1.0 (you can find a VM image with it preinstalled if you know where to look) through Windows 3.0 - things really take shape with Windows 95. The next big change was in Windows 2000 (inherited by Windows XP) and then Windows XP x64 (which gave us SysWow64 for 32-bit files and System32 for 64-bit files - yeah, it's silly). Other than Vista adding MUI subfolders for localized resources there haven't been many significant user-visible changes since then.
Each Windows feature team will have their own ideas about where they want to put their files in a Windows installation - and about how much they want to document it for TechNet. Granted, there are conventions that apply (and plenty of people to tell them they have a bad idea) - but for example, there was no overriding technical reason why the Windows Media Center folk put their files in C:\Windows\ehome instead of C:\Program Files\Windows Media Center or C:\Windows\System32\ehome (given that System32 is already home to plenty of non-kernel components).
Also, remember that many key components of Windows don't live in C:\Windows at all, such as the bootloader (which lives on its own EFI partition), many userland and pack-in applications that are under C:\Program Files, and Microsoft's push to greater componentize the operating-system via AppX, so things like MSPaint will eventually live under C:\Program Files\WindowsApps\.

Newer versions of xperfview don't have a summary option?

EDIT- As it turns out I was using the Windows Performance Analyzer. With the Windows 8 ADK when you install the Performance Tools it makes an icon for the Performance Analyzer but no longer makes an icon for xperfview. xperfview 6.2.2900 is still included and still has its responsive interface and now it can properly read Windows 8 etl files. It can be found here:
C:\Program Files (x86)\Windows Kits\8.0\Windows Performance Toolkit\xperfview.exe
Sorry for the confusion. My original question is below, and the answer I checked correct tells how you can show the modules in Windows Performance Analyzer.
I used xperf 4.6.7231 to capture some latency info on a Windows 8 x64 system. I then tried to use the same version of xperfview to view the results but I couldn't. There was only "unknown". All my symbols are configured correctly and this is only a problem trying to use that version of xperfview on Windows 8.
Long story short I had to download the Windows Assessment and Deployment Kit (ADK) to get the latest version of Windows Performance Tools. xperfview from both Win8 and Win8.1pre ADKs work to properly view the etl file created on Windows 8.
The interface for xperfview has changed drastically in Windows 8 ADKs. It is now based on .NET and much less responsive than older versions. It also looks to have many more options. One thing I can't figure out (and I've checked the help and googled) is how I can do what I could in the older versions where I highlight a section, right-click it, then choose "Summary" to see drivers and their percentages at that selected time.
To give you an example here's a link to what xperfview looks like with its new .NET interface:
and here's what it used to look like when you could select a summary. Note it says unknown that's because the old version doesn't handle Win8 etls right. This is just an example of what I'm looking for in the new version, but with the driver names of course.
You have to click at the first icon over the graph. This shows the Graph + table. The 3rd icons shows you the table only.
With WPA the tables show data for the entire visible time range, not the selected time range. If you want to show a summary for the selected time range you need to zoom to that range. You can zoom in the current view or in a new view.
The new UI does take some getting used to, but it has a number of significant advantages:
1) Symbols load asynchronously without hanging the UI while they are loading.
2) Detailed analysis can be done in a single window -- xperfview would frequently require opening a dozen windows to analyze one trace.
3) More configurable (although some of the configuration options are not obvious).
4) More features, such as custom exporting of data and comparing of two traces
5) When a subset of the data (a process, and entry on a call stack) is selected then the areas where that piece of data is active are highlighted on the timeline.
WPA 8.0 had some bugs which forced me to occasionally use xperfview but with WPA 8.1 I no longer need to use xperfview. I don't miss it.
For an overview of new features in 8.1 see this post:
http://randomascii.wordpress.com/2013/10/28/new-version-of-xperfupgrade-now/
For details on the custom export feature see this post:
http://randomascii.wordpress.com/2013/11/04/exporting-arbitrary-data-from-xperf-etl-files/
For various articles on how to use xperf and WPA effectively see the whole series:
http://randomascii.wordpress.com/category/xperf/

Where to find icons of common Windows applications?

I'm building an webapp that helps people to track their desktop application usage. I'd like to show most common Windows applications (like Excel, SolidWorks, AutoCAD, Photoshop, Eclipse, Visual Studio, Winamp, VLC etc.) with their icon. Is there any single great collection of application icons out there or should I collect and package those icons myself?
They're actually stored within the executable (or DLL or some other file) and you can extract them with a tool like IconsExtract (I have no affiliation with the developers of this software but I've used it in the past).
You may find yourself in a precarious legal situation (depending on your jurisdiction) if you try to collect all the icons yourself. They're almost certainly covered under copyright and I'm not sure this is a valid "fair use" scenario. But I'm not a lawyer and I'm certainly not your lawyer, so take that with a grain of salt :-)

Overlay graphics (aka adornments in VS2010) in VS2008

I'm writing an add-in for both VS2008 and VS2010 and I'd like to have graphical enhancements that appear on top of the code (similar to Resharper/CodeRush). Doing so in VS2010 is relatively easy using adornments, however, how do I do it in VS2008? Anyone knows a good resource/article for something in that spirit?
I know that DXCore (CodeRush) allows one to do it, however, due to license restriction (I can't bundle DXCore with my addin) I am unable to do so.
Thank you
I've ended up implementing it by myself.
The general idea is to make a transparent form (Winforms or WPF), put the adornment you want in that form, and then overlay the form at the position of the code.
Since the editor was completely rewritten between 2008 and 2010 the technique for this is going to be totally different and it seems unlikely that now, 6 months after 2010 has launched, is a good time to start writing something for 2008, especially something difficult.
That said, a great source of sample code for editor extensions is http://code.msdn.microsoft.com/vsx. This is from the VSX team and has been very helpful to me while working on extensions.

Windows 7 & VB Classic Code: Any runtime issues?

Microsoft has promised that VB6 code will continue to work on Windows 7, but has anyone noticed any gotchas specific to running VB6 code in the Windows 7 RC?
And for that matter, any issues with COM objects and ActiveX controls outside of VB6? I remember Microsoft saying that they'll ensure THEIR controls continue to work and end it at that; so I'm wondering what sort of under-the-hood change this entails...
We have a oodles of legacy controls which we need to migrate out--VB6 and C++--but it takes time to make it happen.
Thanks.
I've noticed one, but it's minor and probably not what you are looking for.
If you change the DPI to something other than 96, the checkbox control looks really odd, like someone cut it and it's showing you its guts. The same applies to the checkbox on the ListBox/ListView.
I have not encountered anything in terms of VB6 issues that is new since Vista.
Of course if your programs try to parasitize users' email profiles via MAPI, CDO, or something be aware that Win7 has no Outlook Express or Windows Mail at all.
DPI issues exist in Both Vista and Win7, and the cure is the same: you need to declare DPI awareness via an application manifest (and of course code for varying DPI when sizing and placing controls, fonts, etc.).

Resources