Missing application icons

D

David Wilkinson

My motivation for getting into Vista was to test my own software, and as
a by-product I have built myself a test computer which can boot most of
the Windows operating systems from Windows 95 through Vista x64 (the
older ones using Virtual PC, the later ones my multi-boot).

After changing my installer, I can install and run my (32-bit) software
on all these systems, including 64-bit OS's. But on Vista 64, all my
icons are missing. The application icon in Explorer and in the Start
menu, and the document icon in the Open File dialog.

Why would this be? The icons are present in XP x64 and Vista x86, but
not in Vista x64.

David Wilkinson
 
R

Rick \Nutcase\ Rogers

Hi,

Are you installing as administrator? A regular user account will not have
write privileges to system folders outside of their user environment.

--
Best of Luck,

Rick Rogers, aka "Nutcase" - Microsoft MVP

Windows help - www.rickrogers.org
 
D

David Wilkinson

Rick said:
Hi,

Are you installing as administrator? A regular user account will not have
write privileges to system folders outside of their user environment.

Rick:

Thanks for the reply. Yes, I am installing under an administrator
account (not the Administrator). Vista complains that the setup program
is not signed, and then there is a UAC Window, but that is par for
the course with Vista, I think.

Actually, I have found part of the cause here. It has to do with how
32-bit programs are installed on 64-bit OS's.

On Both XP x64 and Vista x64 my program is installed to

C:\Program Files (x86)\MyCompany\MyApp\MyApp.exe

If I look in this location in Explorer, the program is there with its
application icon on both platforms (I misspoke before about Vista x64).

On XP x64, the shortcut is installed to

C:\Documents and Settings\All Users\Start Menu\Programs\Myapp

My application icon is there, and the target is the above location. So
all is good in XP x64.

In the new and confusing Vista, the shortcut is installed to

C:\ProgramData\Microsoft\Windows\Start Menu\Programs\MyApp

<rant>
I just do not see the point to this gratuitous change of directory
structure. If I right-click on the Start button, I still see Explore All
Users, but it sends me to this ProgramData place.
</rant>

However, the target is

C:\Program Files\MyCompany\MyApp\MyApp.exe

The (x86) is missing, see? The shortcut actually works (somehow), but
this is why the icon is missing - the target is "wrong". Worse yet, if I
click on the "General" tab of the shortcut Properties, a message comes
up that

C:\Program Files\MyCompany\MyApp\MyApp.exe

is not a valid target, and refuses to open the tab (preventing me
initially from finding where the shortcut actually was; I only found it
by looking in Vista x86, where everything works correctly).

If I manually change the target to

C:\Program Files (x86)\MyCompany\MyApp\MyApp.exe

then everything is fixed. The icon appears on the shortcut, and I can
explore the Properties of the shortcut.

The same problem occurs on Vista x64 with other 32-bit programs, e.g.
Mozilla Firefox. Here, strangely, the icon is present on the shortcut,
but the target is "wrong" and the same error message appears if I try to
look at the General tab,

OTOH, for a pre-installed program like 32-bit Internet Explorer, the
shortcut has the correct target

C:\Program Files (x86)\Internet Explorer\iexplore.exe

Do other people see these things on Vista x64? I hope this is a bug in
Vista x64, and not a problem with my new installer (InnoSetup).

Next problem: file associations.

David Wilkinson
 
R

Rick \Nutcase\ Rogers

Hi David,

I see what's happening, but there is little you can do. The installer isn't
spec'd for Vista yet, and the only thing you might be able to do is code a
section to detect and change the path when installed to Vista x64. It's not
a bug per se, it's a design change.

--
Best of Luck,

Rick Rogers, aka "Nutcase" - Microsoft MVP

Windows help - www.rickrogers.org
 
D

David Wilkinson

Rick said:
Hi David,

I see what's happening, but there is little you can do. The installer isn't
spec'd for Vista yet, and the only thing you might be able to do is code a
section to detect and change the path when installed to Vista x64. It's not
a bug per se, it's a design change.

Rick:

Thanks again. But are you sure that this is not a bug in Vista x64? As I
mentioned, the same setup program functions correctly on Vista x86 and
XP x64.

And the same problem occurs on Vista x64 for Mozilla Firefox, which I
think uses Windows Installer. So it is not just InnoSetup.

If this a bug in Vista x64, it strikes me as a pretty serious one.

David Wilkinson
 
D

David Wilkinson

Rick said:
Hi David,

I see what's happening, but there is little you can do. The installer isn't
spec'd for Vista yet, and the only thing you might be able to do is code a
section to detect and change the path when installed to Vista x64. It's not
a bug per se, it's a design change.

Rick:

The author of the Inno Setup program has assured me that this is a bug
in Vista x64. The problem also occurs with other installers.

I only have build 5472 for x64. Does anybody have 5536 for x64? If so,
could you see if this problem is fixed?

David Wilkinson
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top