What's New in Windows Installer 4.0 (November 15, 2005)

Please note: Portions of this transcript have been edited for clarity

Anson MS (Expert):
Hello everyone, and welcome to today's chat. Today's topic is: What's New in Windows Installer 4.0. Our experts will be happy to answer any questions you might have.

Introduction:

Anson MS (Expert):
My name is Tyler Robinson and I am a Program Manager for the Windows Installer and also your moderator.

Carolyn [MSFT] (Expert):
Greetings! My name is Carolyn and I'm the development lead for Windows Installer

KenW [MSFT] (Expert):
Hi my name is Ken and I am a tester on the Windows Installer team.

William [MSFT] (Expert):
Hi, my name is William, and I'm a developer on the Windows Installer team.

Anson MS (Expert):
Thanks everyone.

Anson MS (Expert):
So let's go ahead and get started!

Anson MS (Expert):
So, as some of you may know the Windows Installer Team has been hard at work on Windows Installer 4.0 ... This release of the Windows Installer will be made available when Windows Vista ships next year. You may have seen previous posts about the features in Windows Installer 4.0 on our team's blog here on MSDN. (https://blogs.msdn.com/windows_installer_team) Or you may have seen my talk at PDC 2005.

Finally, me and Carolyn also did a video for Channel 9 right here on MSDN! https://channel9.msdn.com/Showpost.aspx?postid=134577. So there is lots of information available out there on the next release of the Windows Installer.

Start of chat:

Carolyn [MSFT] (Expert):
Q:
Will embedding language transforms in an .MSI ala https://www.installsite.org/pages/en/msi/articles/embeddedlang/ ever be put in the Windows Installer documentation?
A: That's actually not officially supported functionality. Only officially supported functionality is put in the Windows Installer documentation. We are considering improving the language transform support in a future release (but not MSI 4.0).

KenW [MSFT] (Expert):
Q:
are msm and mst supportet with msi 4.0?
A: Yes, MSI 4.0 will continue to support MSM and MSTs.

Carolyn [MSFT] (Expert):
Q:
are msm and mst supportet with msi 4.0?
A: Yes. Merge Modules (Msms) are used at authoring time to build packages and share setup logic. Note that they still cannot be serviced indepently and must be serviced via the product that consumes them. Transforms (MSTs) are fully supported.

Anson MS (Expert):
Q:
For someone who is experienced with MSI 2.0 and 3.0, do you have any good reading to share with us that will help us get ready for the changes in 4.0?
A: I think viewing the PDC 2005 presentation as well as our video on Channel 9 are good starting points. Our blog will also be updated with the latest information. Once Vista Beta 2 comes out most of our MSDN documentation should be updated by that time as well.

Carolyn [MSFT] (Expert):
Q:
is msi 4.0 is installed with vista 5.231 or is it only saying it is installer 4.0?
A: MSI 4.0 is included in Vista build 5231. The versioning scheme of MSI in this version of windows is 4.0.windowsbuildnumber.windowsqfenumber. You'll note that normally most binaries in Windows (like kernel32.dll) will have a version of 6.0.5231.0 where 6.0 represents the major and minor versions of the OS. MSI follows it's previous versioning scheme and would be 4.0.5231.0.

Carolyn [MSFT] (Expert):
Q:
Will there be better integration with Wix?
A: That's really a question for the Wix team. Wix is an authoring tool. MSI is the platform. As with all authoring tools partners, the Windows Installer team provides information in MSDN and thru other interactions (like the PDC) to enable authoring tools to take full advantage of the new MSI 4.0 feature set.

Anson MS (Expert):
Q:
Is Windows Installer 4.0 for Vista only?
A: Windows Installer 4.0 is different than previous Windows Installer releases in that we are not planning any down-level redistributable. This is because of three reasons: (1) The big-ticket features we targeted for Windows Installer 4.0 (UAP, Restart Manager, MUI, etc...) were all Windows Vista-specific, and those features would not be supported down-level. (2) We designed all the features to be backwards-compatible with previous versions of the Windows Installer (so there is no need to target Windows Installer 4.0, specifically -- you can create a package that installs perfectly fine on Windows Installer 2.x or 3.x and the new features will "light up" on Windows Vista). (3) We realized that many people redistribute the latest Windows Installer engine without actually needing the new features, so we decided this will be a safe way to save people the reboot down level.

Carolyn [MSFT] (Expert):
Q:
To robmen: Will Windows Installer files still be compound documents or will they be in XML or something similar?
A: I know Robmen can answer this... but making this official: The file format of the Windows Installer file has remain unchanged. It's still a compound document (or OLE structured storage file). Think of it as the compiled format. Wix uses XML as its source code format in the same manner that MSI supports the IDT file format as a text file method for building (or compiling) and MSI file. Text files provide a number of other benefits, especially with regards to diffing and source control management.

**Anson MS (Expert):
**Just a reminder to everyone that today's topic is "What's New in Windows Installer 4.0" ... Please use the Ask Question button to ask a question of our experts as they will not see questions in the guest chat. :)

Anson MS (Expert):
Q:
How fast do you expect software vendors to move to .net framework installations?
A: When you say ".net framework installations" to you mean ClickOnce-style deployments?

Carolyn [MSFT] (Expert):
Q:
will the installer be a stand alone or will it require some additional support from .Net 2.0?
A: Windows Installer 4.0 is included within Windows Vista. It is an OS component. There is no installer for for MSI 4.0 and at this time, no redistributable for other platforms (given that the features are Vista only). MSI does not have any dependency on any version of the framework. The closest you get to a dependency is when one of your installations installs assemblies to the GAC -- then you need the framework to be on the machine.

Carolyn [MSFT] (Expert):
Q:
Will the dialogs/controls in MSI 4.0 be enhanced so that controls such as edit fields can be refreshed when a property that backs the control is changed and the control is currently being displayed?
A: Unfortunately no.

Anson MS (Expert):
Q:
Is there anything new for driver installation or should we continue to use the DIFX merge modules?
A: There are no changes in the Windows Installer 4.0 with respect to driver installation. You should continue to use the tools that the Driver Install Framework provides. The DifX tools will continue to be updated.

Anson MS (Expert):
Q:
Yes - Click Once installations
A: We have seen a lot of interest in ClickOnce and we are evangelizing that developers who are creating applications that fit into the ClickOnce model should use ClickOnce for deployment. We discuss this in my PDC presentation. If you are creating an application that targets the .NET Framework 2.0 and is completely isolated, then you should definitely take advantage of ClickOnce. For all other applications, Windows Installer provides the best experience on Windows Vista.

**Anson MS (Expert):
**Some of you may not be familiar with some of the new features in Windows Installer 4.0, so I will discuss some of them.

KenW [MSFT] (Expert):
Q:
would it be possible to recache the local cached transform with a repair like a msi repair with the parameter /fv?
A: Transforms are only applied on first installations and cannot be recached. MSI does have the ability to replace a missing transform (Path of the transform depends on whether the transform was secure or not).

**Anson MS (Expert):
**As many of you know, the need to reboot the system as part of an application or OS update is a huge customer pain point. As part of Windows Vista, there will be a set of APIs called the "Restart Manager"

**Anson MS (Expert):
**You may have read about this in the media referred to as "Reboot Manager" as well.

**Anson MS (Expert):
**The purpose of these API's are to determine files that are locked on the system and unlock those files (by shutting down applications, processes or services) so that an installation can take place without the need for a reboot,

**Anson MS (Expert):
**Windows Installer 4.0 fully supports the Restart Manager on Windows Vista. We have created a new dialog called the MsiRMFilesInUse dialog that is used instead of the FilesInUse dialog that you all may be familiar with.

**Anson MS (Expert):
**The MsiRMFilesInUse dialog is used on Windows Vista, the FilesInUse dialog is used down-level. So it is very easy to take advantage of the Restart Manager functionality on Windows Vista while remaining completely backwards-compatible with previous Windows Installer versions.

Carolyn [MSFT] (Expert):
Q:
Like common merge modules, do you see vendors sharing their Global Assemblies or will each vendor be writing their own? Couldn't this be a source for a new outbreak of dll hell?
A: By being in the GAC, assemblies are available for use by multiple applications. Note that as a GAC assembly, you have a strong name that includes a public key token... so in many cases this would ensure uniqueness. That's not to say you can't run into the DLL problem of backward compatibility. If you update the assembly in-place, you can force that situation.

**Anson MS (Expert):
**The new MsiRMFilesInUse dialog is discussed in both our team blog (https://blogs.msdn.com/windows_installer_team) and our PDC session.

**Anson MS (Expert):
**It will also be documented in the Windows Vista Beta 2 SDK.

**Anson MS (Expert):
**It is essentially the same thing as the old FilesInUse dialog except it gives the user the option to have the Windows Installer automatically shut down the applications that are holding files in use

**Anson MS (Expert):
**Including the new MsiRMFilesInUse dialog in your installation is the only thing you need to do to enable Restart Manager support in your installation on Windows Vista.

Anson MS (Expert):
Q:
can you ask a question other than the topic
A: While the topic is "What's new in Windows Installer 4.0" our experts are willing to answer any Windows Installer-related question you may have. If it is not Windows Installer-related, our experts likely will not be able to answer.

Carolyn [MSFT] (Expert):
Q:
our pain is not only to reboot, we have more trouble to stop or kill the application! What is with user documents?
A: With the integration with restart manager, MSI can request that it shutdown all in-use applications and services. The enhanced support allows MSI to better detect files in use for window apps, console apps, services, and sys tray apps. You're probably already aware that MSI was limited in this manner in earlier versions to just window apps. The restart manager support also provides the way to force shutdown as well, but that's usually an impolite method. Part of the education here is to get application developers to write applications that are more responsive to shutdown messages, and with the save the state ability can be restarted right where they left off. Can you clarify the "what is with user documents?" part of your question?

**Anson MS (Expert):
**Just a reminder, our experts can not answer questions in the guest chat. Please use the ask question button to submit your question. Thanks. :)

Carolyn [MSFT] (Expert):
Q:
what causes your computer to keep restarting in the middle of something all on its own
A: Unknown. In some cases it could be due to silent installation by an update or software distribution engine (like automatic updates or perhaps SMS). Usually machine reboots are logged in the event viewer in the application or system event log. You can check that to see if more information about the reason for reboot was logged.

Anson MS (Expert):
Q:
The client I am currently working at has not even deployed XP SP2. Even with .Net Framework 2.0 deployed, how well will MSI 2.0 handle the move to Click once installations?
A: I am not entirely sure I understand the question. Are you asking if there will be a tool to migrate Windows Installer-based installations to the ClickOnce format?

Carolyn [MSFT] (Expert):
Q:
Will MSI 4.0 include better rollback functionality, especially in circumstances where the MSI install has been interrupted by, for example, power outage or the annoying hard reset that happens after 60 minutes of Group Policy processing?
A: MSI, even prior to 4.0, has had support for suspended installations where an install can be interrupted by a power outage. With a suspended install, the installation can be resumed or alternatively rolled back.

Anson MS (Expert):
Q:
will any of the restart manager functionality be back-ported to XP/2003, or is this Vista specific support?
A: The Restart Manager functionality in Windows Installer 4.0 relies on the Restart Manager APIs, which are Windows Vista specific. So yes, this feature will only be for Windows Vista (and later).

Carolyn [MSFT] (Expert):
Q:
we are installing with /qb- in this cases the installation will fail
A: Generally the recommended method for troubleshooting an installation failure is to first start by creating a verbose log file. If you're seeing the installation fail with the generic error, like 1603, try searching for "return value 3" in the log file. Usually the line just above (or a few lines above) are the problem.

KenW [MSFT] (Expert):
Q:
will any of the restart manager functionality be back-ported to XP/2003, or is this Vista specific support?
A: The PatchWiz 4.0 Beta will be part of the Longhorn Beta 1 PSDK as well as through the Windows Installer beta program. For more information, please go to https://beta.microsoft.com.

Anson MS (Expert):
Q:
No . As vendors move to Click Once installations in prepration for Vista, will installations be backwards compatable to MSI 2.0
A: ClickOnce is not a replacement for Windows Installer. It is a complimentary technology. On Windows Vista (and beyond) you will continue to have both ClickOnce and Windows Installer-based installations. They are distinct installation technologies targeted at different scenarios. With that said, we are working closely with the ClickOnce team and our partners to ensure that the appropriate "bridges" are in place for those developers who want to take advantage of both ClickOnce and Windows Installer.

KenW [MSFT] (Expert):
Q:
Where can we get the new patch wizard?
A: The PatchWiz 4.0 Beta will be part of the Longhorn Beta 1 PSDK as well as through the Windows Installer beta program. For more information, please go to https://beta.microsoft.com.

Anson MS (Expert):
Q:
Tell us more about the new automatic logging feature.
A: The Windows Installer has always had the ability to turn on logging via the command line (per-package) and also policy (per-machine). A common request we heard from customers is that they wanted a way to enable per-package logging without having to specify the command line each time. The new MsiLogging property is used to specify that the logging is turned on (in the same way the policy works today), but on a per-package basis.

**Anson MS (Expert):
**(continued from Q25) We have also added the ability to know which log file in the %TEMP% folder actually belongs to your package. The new MsiLogFileLocation property will hold the path and file name of your log file, so you can easily add a control to make the log file viewable at the end of the install.

Carolyn [MSFT] (Expert):
Q:
Q20 was subqestion to the restart manager and Q15
A: Generally "/qb-" works as expected. If you're seeing a problem specific to your application, then the first step is to troubleshoot with the verbose log file. You can also do a comparison to the working case. In a forum like this, it's difficult to identify the root cause without having full details on the environment, scenario, package information, and log files.

Anson MS (Expert):
Q:
Have there been any improvements to ICE Validation in Vista/MSI 4.0, possibly a new set of ICEs? If so, is there anywhere we can get details on this?
A: We have not yet determined if new ICEs will be created for Windows Installer 4.0. We are currently working on the Windows Vista Logo Program and a set of new ICE rules may come out of that. If there are specific ICEs that you would like to see us add, please go to the Windows Installer Team Blog (https://blogs.msdn.com/windows_installer_team) and send us a message! We would love to hear from you! :)

Carolyn [MSFT] (Expert):
Q:
Will customers find it easier to read the log file information with 4.0?
A: The log file format hasn't changed, so most likely it's not as readable as you desire. There are some tips and tricks to deciphering the log file that will be posted on our team blog and perhaps in an upcoming whitepaper. We do have improving the readability and diagnosability of setup failures on our radar as a feature in future release.

Anson MS (Expert):
Q:
THANKS! I have seen very little from the boys at Installshield or Wise on thin client (no touch) installations, and am worried that they will continue to believe that the world installs with a standard MSI, bypassing Clickonce installations.
A: We are actively engaging our tools partners on how they can provide additional value for developers and system administrators for both Windows Installer 4.0 and ClickOnce installations.

Carolyn [MSFT] (Expert):
Q:
will any additional logging information be added in MSI 4, such as the way property change logging was added in 3.0?
A: The two logging fixes or features that were added in MSI 3.0/3.1 were the property change enhancement and the handling of embedded NULLs in registry value and service information (which would usually result in truncation of the log file line). These were of course, carried over into the MSI 4.0. Other than the logging thru package capability, we didn't really add any new big-time logging changes. However, individual features (like the restart manager integration and the LUA/UAP support) do log their own data to the log file.

Carolyn [MSFT] (Expert):
Q:
This is probably the wrong place to ask, but does anyone know how to make MSVS 2005 automatically interpret stuff like "MessageBox" as "MessageBoxA", instead of "MessageBoxW"?
A: This is off-topic for the chat, but generally the resolution of the API to the A or W version is dependent upon the UNICODE define. (Check your compiler options and your #defines).

**Anson MS (Expert):
**Another great new feature in Windows Installer 4.0 is our support for "User Account Protection" also known as UAP or LUA.

**Anson MS (Expert):
**The Windows Installer team has done a lot of work to minimize the number of consent dialogs the user might be presented with over the lifecycle (Install-Update-Uninstall) of an application.

Anson MS (Expert):
Q:
ini files with the file attribute read-only cannot be modified with the WriteIniValues Action, will this be fixed with msi 4.0?
A: We're not familiar with this issue. Please go to the Windows Installer Team Blog (https://blogs.msdn.com/windows_installer_team) and send us an email with the details so we can look into it. :)

Carolyn [MSFT] (Expert):
Q:
will any additional logging information be added in MSI 4, such as the way property change logging was added in 3.0?
A: The two logging fixes or features that were added in MSI 3.0/3.1 were the property change enhancement and the handling of embedded NULLs in registry value and service information (which would usually result in truncation of the log file line). These were of course, carried over into the MSI 4.0. Other than the logging thru package capability, we didn't really add any new big-time logging changes. However, individual features (like the restart manager integration and the LUA/UAP support) do log their own data to the log file.

**Anson MS (Expert):
**For example, some of you may be familiar with with the "LUA Patching for Games" feature we added in Windows Installer 3.0. We have enhanced this feature in Windows Vista and removed some of the restrictions (like the fact that the original install had to come from removable media) so that just about any installation can use this feature to avoid UAP consent prompting on Windows Vista.

Carolyn [MSFT] (Expert):
Q:
Have any changes been made to WI 4.0 to make it easier to set security options (ACLs, etc.)?
A: In this area, there weren't any additions to set security options. YOu still have the basic limitations of the LockPermissions tables. Most authoring tools are providing a library of sorts (custom action wise) to let you do this. Of course, the recommendation with custom actions is that well-written ones still follow the declarative model (based off of custom tables) and plug in correctly to the installation transaction, supporting install, uninstall, and rollback.

**Anson MS (Expert):
**All you need to do to take advantage of our LUA Patching feature is include a certificate in your original install (in the MsiPatchCertificate table) and sign your MSP with the same certificate. At patch-time the Windows Installer will match the certificates and elevate, if appropriate.

Carolyn [MSFT] (Expert):
Q:
When you looked at features to add in MSI 4.0 did you consider the needs of Desktop Administrators or Developers as your primary customer?
A: MSI has a varied set of customer segments including, but not limited to end-users, ISVs, IT admins, OEMs, infrastructure developers (eg. SMS), and tools. We try to pick features that have impact across multiple customer segments and focus on areas that may have been overlooked in the past. For Vista, we also had to take into the account the overall vision for the platform -- with LUA/UAP and reducing reboots being key cogs in delivering that vision.

Anson MS (Expert):
Q:
Generally, is it very likely that if you have an MSI you currently deploy to Windows XP/2000, and the application itself is compatible with Vista, that the MSI will "just work"?
A: That is correct. There are some considerations that you have to make for UAP, however. In Windows Vista running under UAP the install operates very similar to Group Policy deployments. So you should test your installation under Group Policy deployment scenarios -- if it works under Group Policy it should work fine under UAP in Vista. One of the primary things to remember is that you can not assume that your UISequence will be elevated, so you don't want to include admin checks in the UISequence or immediate-execution custom actions that require administrative rights in the UISequence.

Carolyn [MSFT] (Expert):
Q:
As long as we are talking about LUA, I have a feature request: could WI at some point offer per-user COM registration in addition to per-machine (that is, through the SelfReg table).
A: MSI already allows you to specify per-user versus per-machine locations for registry data. As for the selfreg, I'll think you'll see that in our MSDN documentation on the SelfReg table, it's not a practice we recommend.

**Anson MS (Expert):
**Please also remember that the Windows Installer Team Blog (https://blogs.msdn.com/windows_installer_team) is the place for the latest information on the Windows Installer and also your direct-pipeline to the Windows Installer Team! Please feel free to submit any feature requests or comments to us there.

Anson MS (Expert):
Q:
In 3.0 the 'Killer Feature' was the new tables for patching. What's do you have that will bring my fellow tech's to their knees with 4.0?
A: The feature that really resonates with our customers (and received a huge round of applause at the PDC) was our integration with Restart Manager. We are also confident that once people start using Windows Vista Beta 2 and see the vastly better experience Windows Installer 4.0 provides over "setup.exe"-style installations under UAP that people will love the investment we have made there as well.

Carolyn [MSFT] (Expert):
Q:
will it ever be possible to apply/reapply transforms during minor upgrades? i know at this point it doesn't work.
A: Can you clarify what you mean by apply/reapply transforms? The transforms that are already registered for the product are re-applied. I presume you mean post install customization where you can keep tweaking your transform set after initial install. Generally patches are used today to apply customizations post installation. We can't make a firm commitment for the transform scenario, but it is something on our radar.

**Anson MS (Expert):
**For those of you who missed the links in the beginning of the chat ... You may have seen previous posts about the features in Windows Installer 4.0 on our team's blog here on MSDN. (https://blogs.msdn.com/windows_installer_team) Or you may have seen my talk at PDC 2005 (FUN222). Finally, me and Carolyn also did a video for Channel 9 right here on MSDN!https://channel9.msdn.com/Showpost.aspx?postid=134577

KenW [MSFT] (Expert):
Q:
would t be able to modify msp after creation in tables like property, inifile, registry which has no binaries?
A: Changes to those tables made through inside a Transform within the patch. For you to modify the MSP itself means you would have to open up the MSP file itself and change the transforms. I would recommend recreating the msp file.

**Anson MS (Expert):
**Ok everyone, that about does it for today's chat. Thanks a lot for attending. If you missed any part of the chat you will be able to view the transcripts at https://msdn.microsoft.com/chats

Carolyn [MSFT] (Expert):
Q:
Does the Windows Installer team help Microsoft with their own MSIs for products? And on that note, can you teach the MSN Messenger team what the AdvtExecuteSequence table is for..!
A: I hear you on that one! I've had to explain a few times in the newsgroups how to make that package deployable. Internal product teams can contact our team with questions... very similar to the monitoring of the newsgroups. However, we do not control the authoring of these product teams. We provide guidance and recommendation through the SDK, but in the end our team is too small to create all of the setups.

**Anson MS (Expert):
**Our next chat will be in January but we have not set the date yet. Please tune into our blog or the MSDN chat calendar for and update.

Anson MS (Expert):
Q:
Adding access Restart Manager just confuses things from a desktop manager perspective. I currently can trigger a restart in my VB script wrapper, SMS, Altiris, or some internal script in the installation.
A: Restart Manger is designed to avoid reboots, not trigger them.

Carolyn [MSFT] (Expert):
Q:
Q44: right now if i install product version 1.00.0000, with or without transforms, and then try to run a minor upgrade and apply a transform with the upgrade, it does not appear to apply
A: Check the log file to verify. Most importantly, you cannot apply a transform to the product after it's been registered (either advertised or installed). If you're saying that an existing transform is having problems, then perhaps it's validation flags are too strict. However, you'll normally see that fail. As for patches, MSI can detect when a patch is no longer applicable during the minor upgrade scenario and remove it from consideration.

Anson MS (Expert):
Q:
Follow up to Q43: We can't get rid of setup.exe until there's a better way to chain multiple MSI packages. Are there any plans in MSI 4?
A: Unfortunately, we were not able to address this in 4.0 ... However, this is #1 on our list of things to tackle next. Using a setup.exe is perfectly acceptable on Vista as long as it contains the appropriate manifest so that UAP knows if the setup.exe requires elevation or not. If it's just a simple chainer then it shouldnt require elevation and elevation should be deferred to the Windows Installer package.

**Anson MS (Expert):
**Thank you again for attending today's chat!

Top of pageTop of page