cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
GStrait
Level 4

Windows 7 Support?

I'm currently using IS2009 to create a simple InstallShield MSI project. The install works great on Windows XP but fails on Windows 7 unless I run the setup.exe in "XP Mode" and as administrator. The failure is not any error message but that most files are simply not being copied to the target directories during the install.

Does anyone have experience with installing MSI projects on Windows 7 (beta)? Perhaps I need IS2010? Does IS2009 not support the Windows Installer packaged with Win 7?

Thanks for any help.
Labels (1)
0 Kudos
(13) Replies
joshstechnij
Level 10 Flexeran
Level 10 Flexeran

While IS 2010 does contain support for some things specific to Windows 7, a package created in 2009 should not necessarily fail. The best course of action is to determine what is causing the failure by creating and analyzing a verbose log of the installation.
0 Kudos
GStrait
Level 4

How do I enable verbose install logging?

What I tried was setting the Create MSI Logs to Yes in the General Settings->Product Properties to Yes. I expected to see a "Show the Windows Installer log" in the setup complete dialog, but I don't see that.

And where should the log file be created on Windows?

Thanks
0 Kudos
GStrait
Level 4

OK, I ran the setup.exe with verbose mode in a Command Prompt with Administrator priviledges.

e.g. Setup.exe /Verbose"C:\Gerry\msi.log"

I have a log file but it's Greek to me. Can you (or anyone) provide any help/suggestions with looking at a verbose MSI log file?

Thanks.
0 Kudos
joshstechnij
Level 10 Flexeran
Level 10 Flexeran

If the installation is failing, you can typically look for "return value 3" in the log. Somewhere above that point would usually be some indication of what action is occuring or what may have failed. Also, if you attach the log to this thread we may be able to determine where/what the failure is.
0 Kudos
GStrait
Level 4

I see no "return value 3" but I do see a lot of return value 0 & 1. I do see several "UNKNOWN" strings. Other than that I see no real error type messages in the log file. It's over 1MBytes so I'm not sure how attaching it here will work. But here goes... msi.zip




Thanks for your help!!!
0 Kudos
GStrait
Level 4

I'm guessing the problem may be related Windows 7 forcing use of a C\Users\accountname\AppData\... directory during the install rather than just using the normal install target path (i.e. Program Files\wherever\...). This might explain why my install works in "XP Mode".

Security built into Windows 7 is annoying.
0 Kudos
joshstechnij
Level 10 Flexeran
Level 10 Flexeran

According to the attached log, the installation was successful:
MSI (s) (44:D8) [14:21:29:342]: Product: IBM TPF Operations Server 1.2.06 -- Installation operation completed successfully.


Also, none of the target installation paths appear to be under C:\Users\username\AppData, it appears most of the paths are rooted at C:\Program Files\IBM TOS.

Looking at the InstallValidate section of the log shows that all features are to be installed locally, but a number of components, while requested for installation, are not being installed. This is normally due to component conditions or components' never overwrite settings set to yes with keypaths already existing on a target machine. Without knowing how the installation was authored, I can't say exactly what is preventing these components from installing. However, if this install works with app compat enabled or works on an XP machine, this would indicate the likelihood that component conditions based on OS are being used to condition which components get installed (or there is script code that peforms some type of analogue to component conditions).

MSI (s) (44:D8) [14:20:29:807]: Component: API; Installed: Absent; Request: Local; Action: Null
MSI (s) (44:D8) [14:20:29:807]: Component: Raven; Installed: Absent; Request: Local; Action: Null
...
MSI (s) (44:D8) [14:20:29:807]: Component: RavenDocs; Installed: Absent; Request: Local; Action: Null
...
MSI (s) (44:D8) [14:20:29:807]: Component: ServerAndBinaryFiles; Installed: Absent; Request: Local; Action: Null
MSI (s) (44:D8) [14:20:29:807]: Component: ESCONDriver; Installed: Absent; Request: Local; Action: Null
MSI (s) (44:D8) [14:20:29:807]: Component: SimulatorFiles; Installed: Absent; Request: Local; Action: Null
MSI (s) (44:D8) [14:20:29:807]: Component: TOSUserGuide; Installed: Absent; Request: Local; Action: Null
MSI (s) (44:D8) [14:20:29:807]: Component: Userexits; Installed: Absent; Request: Local; Action: Null
...
MSI (s) (44:D8) [14:20:29:807]: Component: ConsoleFiles; Installed: Absent; Request: Local; Action: Null
MSI (s) (44:D8) [14:20:29:807]: Component: JavaNTEventLogAppender; Installed: Absent; Request: Local; Action: Null
0 Kudos
GStrait
Level 4

Thanks.

I see in the projects Organization->Components and in each component is an "Operating System" option. Mine is currently set to: Windows 2000, Windows XP, Windows Server 2003.

(FYI - this project was created using an earlier version of InstallShield and converted to an IS2009 project.)

But when I select the elipsis (...) for the available Operating System options, Windows 7 is not an option. Does that indicate that I can not install on Win 7? Or is there a way to allow Windows 7 installations?

Thanks
0 Kudos
joshstechnij
Level 10 Flexeran
Level 10 Flexeran

The Operating Systems setting for components in InstallScript MSI projects uses the InstallScript engine to filter which components get installed at runtime. Windows 7 is not provided as an option in IS 2009 since it was developed before any builds of Windows 7 were available.

We would recommend setting the Operating Systems field to OS Independent and instead use the Windows Installer support for conditioning components if necessary. The Condition field provided per component can be used to accomplish this. For example, if you want to install a component on all versions of Windows version 2000 or newer, you can set the following condition:
VersionNT >= 500
0 Kudos
GStrait
Level 4

That worked. Thanks Josh! Where does the number 500 come from?

So I'm assuming that when I eventually get IS2010, I'll be able to select all Windows versions, including 7, from a list.
0 Kudos
joshstechnij
Level 10 Flexeran
Level 10 Flexeran

The version number values are calculated by OSMajorVersion * 100 + OSMinorVersion. A list of possible values can be found in the following article: Operating System Property Values
0 Kudos
GStrait
Level 4

THANKS!!! I Should be all set now.
0 Kudos
PhilDWilson
Level 2

Just an FYI, Windows 7 is not actually an OS version of 7. It's 6.1, the same as Server 2008 R2.

http://msdn.microsoft.com/en-us/library/ms724833(VS.85).aspx
0 Kudos