Welcome to MSDN Blogs Sign in | Join | Help

August 2005 - Posts

How can I use a custom action to dynamically populate rows in the table?

Question How can I use a custom action to dynamically populate rows in the table? Answer Immediate custom actions have full access to the Windows Installer database. All you need to do is use the database API to open a view and execute the view. The rest

Can anyone tell me how to make a universal transform or a template transform that will work on all msi's?

Question Can anyone tell me how to make a universal transform or a template transform that will work on all msi's? Answer The trick is to get the validation conditions on the transform to be lenient. The following validation conditions are available for

What are the consequences of ICE27 errors?

Question Can someone comment on what consequences would there be if the following ICE27 exceptions were left as is? 'SetODBCFolders' Action in AdvtExecuteSequence table in wrong place. Current: Execution, Correct: Selection Action: 'SetODBCFolders' in

Does Windows Installer natively support setting service ACLs from an MSI?

Question Is there a way to set ACLs for a service using MSI standard actions or is a custom action required? If this can only be done through a custom action, does someone have an existing CA that sets service ACLs that I could use? Answer No, there is

Any tips on troubleshooting Error 2259: Database: foo.msi Table(s) Update failed

Question Any tips on troubleshooting Error 2259: Database: foo.msi Table(s) Update failed? What column in the update is causing the update to fail? UPDATE ControlCondition SET ControlCondition.Condition = '1' WHERE ControlCondition.Dialog_='FolderForm'

How to manage order dependencies between AppSearch entries?

Question How to manage order dependencies between AppSearch entries? In my case, I want a RegLocator to check for a path out of the registry and then I want Signature .Parent to use the path results of the RegLocator . Here's my implementation in tables...

How do I AppSearch for DotNet Framework?

Question How do I AppSearch for Dot Net Framework? Answer The official registry key/value to check is HKLM\Software\Microsoft\NET Framework Setup\NDP\ @Install=1. Of course, this key/value has the same issue as you mention below because the version will

How do I translate the error reported in the Windows Installer log?

Question Can you help me decipher the error from LastErrorRecord FormatText : "1: 2235 2: .\debug\ftminstall.msi 3: Value 4: UPDATE ControlCondition SET ControlCondition.Value = 1 WHERE ControlCondition.Dialog ='FolderForm' AND ControlCondition.Control='AllUsersRadioGroup'

How can I pass the installation directory info to the custom action exe?

Question How can I pass the installation directory info to the custom action exe? Answer See MSDN Topics: Changing the Target Location for a Directory [Windows Installer] MsiSetTargetPath(MSIHANDLE,LPCTSTR,LPCTSTR) function [Windows Installer] TARGETDIR

How can I supress msimsp pop-up: 'Target ProductVersion is greater than the Upgraded Image; do you want to proceed anyway?'?

Question I am presently trying to automate patch builds for my product code, and I am using msimsp.exe with the following command-line Msimsp.exe –s -p -l It pops up a confirmation dialog saying – Target ProductVersion is greater than the Upgraded Image;

Folder not removed after reboot when files are in use?

Question When I uninstall with our application running, the folder that contained the app is not removed after reboot. Now I know the documentation for the RemoveFolders action says that if the folder is not empty it won’t remove the folder. However after

What's wrong with my customization of Add Remove Programs?

Question We’re trying to install our MSI without having it listed in Add/Remove Control Panel using (as per documentation I found in the MSDN): ARPSYSTEMCOMPONENT=1 We’ll then manually add an entry in the registry (CurrentVersion\Uninstall\ SomethingPretty

Any tips on Troubleshooting Error 2356 Could not locate cabinet in stream: [2]. ?

Question I’ve got a report of error 2356 "Could not locate cabinet in stream: [2]." which says a cabinet is missing from the stream. How can I see the streams that are in the MSI and once I know the names, how can I extract them? Answer Wistream.vbs can

What are some sources of: MSI error 2716: "Could not create a random subcomponent name for component '[2]'".?

Question Background For background on subcomponents, see Why does the Windows Installer log list apparently duplicate components prepended with double underscore and appended with 65? A careful reader will notice a problem with the subcomponent generation

Why does the Windows Installer log list apparently duplicate components prepended with double underscore and appended with 65?

Question Why does the Windows Installer log list apparently duplicate components prepended with double underscore and appended with 65? Example: Action start <time>: InstallValidate. MSI (s) <process info>: Feature: Simple; Installed: Absent;

InstallValidate Nulled Out My Request (Part III)

Question Updated build of MSI not being installed despite REINSTALLMODE=vomus property? Troubleshooting Start by noticing that features that should be installed are actually listed as Advertised MSI (s) <process info>: Feature: AdminTools; Installed:

Where is the Windows Installer SDK?

Question I went to the Microsoft download site and could not find a entry for the Windows Installer SDK. Where is the Windows Installer SDK? Answer The Windows Installer documentation on MSDN always lists the download page for the Installer SDK. It's

What are some sources of: Error 1606: Could Not Access Network Location?

Question What are some sources of: Error 1606: Could Not Access Network Location? Answer Generally, the installer will validate the existence of directories listed in the directory table -- if you don't install to that directory, then don't list it in

How can I tie the execution of an MSI with an enclosing Wrapper?

Problem How can I tie the execution of an MSI with an enclosing Wrapper? Design Considerations Pragmatically Product Support and Administrators need the capacity to operate MSIs from the command line so there’s never been a need for MSI users to exclusively

Can you please point me to some good documentation for creating a MSI custom action?

Custom actions provide a generalized way of extending the Windows Installer engine. Due to the fact it's a generalized extension mechanism, it's difficult to provide a universal cookbook for custom actions. I suggest starting with the Windows Installer

What's wrong with the Custom ICE DLL I've built?

Problem I’m trying to build a customized cub file to run against my MSI using msival2.exe. I built a DLL with some customized ICE errors and inserted it into the cub file. When I run msival2, it keeps complaining the DLL cannot be run. The detail error

Can I enable a particular priviledge for my NoImpersonate custom action?

Question Can I enable a particular priviledge for my NoImpersonate custom action? Answer No. DCOM will strip privileges from the token that are not explicitly enabled. That's a DCOM design -- not MSI and since custom actions are 3rd party code, they are

Is there a way to surgically update the MSI with the signed binaries without having to repackage the MSI?

Question Is there a way to surgically update the MSI with the signed binaries without having to repackage the MSI? Answer You can use MsiFiler.exe tool to update File table and MsiFileHash table. If you are looking for fully verified signed installation,

How do I detect that the installer is doing a repair?

Question How do I detect that the installer is doing a repair? Answer You can check if the REINSTALL property is set. If you want to detect if a patch operation is happening (which also sets the REINSTALL property), you can check if the PATCH property

Where can I get some help parsing the Windows Installer logs?

Question Where can I get some help parsing the Windows Installer logs? Answer Check out Wilogutl.exe Content credit also belongs to Ashish, MSI Team Test Engineer. You can get other Ashish insights about developing for Windows Installer from the Windows

How do I launch a browser after my install completes?

Question How do I launch a browser after my install completes? Solution Please have a look at the MSDN topic: Using a Custom Action to Launch an Installed File at the End of the Installation Key Custom Action Snippit from Tutorial.cpp from Windows Installer

Windows Installer 3.1 Version Confusion

A common question I have been receiving lately is about the Windows Installer 3.1 (v2) Redistributable and what version of the Windows Installer is actually the "latest". Well, let's hope that this posting clears up any confusion on the topic. :) There

What considerations are there for obfuscating my .MSI file with say a .DAT file name?

Question What considerations are there for obfuscating my .MSI file with say a .DAT file name? Background I've seen this choice pursued when folks have a bootstrapper, usually setup.exe, that they always want to call the .MSI file. The justification here

How can I retain the value of a Property between install and uninstall?

Question How can I retain the value of a Property between install and uninstall? Background The best option is to not require persistence. For example, if you are substituting into file or registry paths, that likely means you are violating component

Does Windows Installer remember at uninstall the value of a property set during install?

Question Does Windows Installer remember at uninstall the value of a property set during install? Answer No, Windows Installer doesn’t cache properties. Content credit also belongs to Ashish, MSI Team Test Engineer. You can get other Ashish insights about

With an ALLUSER=2 MSI, What will happen if the per-user install is followed by an per-machine install?

Question Will happen if the per-user install is followed by an install running with administrator privileges (i.e. one triggered by the IT administrator)? Answer Say the admin installs the same app per machine. After this setup is done, User1 still sees

Can a non-admin user run an msi?

Question Can a non-admin user run an msi? Answer If you only install to locations where non-admins users have privileges, then the answer is easy: yes. If you install to locations such as program files or HKLM, then the answer is -- they can with MSI
 
Page view tracker