Saturday, August 21, 2010

WMP 12 Device Syncing and Conversion Problem

There appears to be a really annoying buglet (OK I made buglet up) in Windows Media Player (WMP) 12 whereby music files cannot be synced and converted to an external device such as an MP3 player or USB drive.  Syncing works but if you attempt to have higher bit rate files converted to say 192kbps, it fails.  The "convert to" data rate is available and can be set but it has no effect if the device does not support the Media Transfer Protocol (MTP).  Windows phones do support MTP so they can have content automatically converted and synced.  "Dumb" devices (almost all) that do not support MTP will not be able to get content automatically converted.

The following thread discusses in more detail.

http://social.technet.microsoft.com/Forums/en-US/w7itpromedia/thread/3089b0ec-5858-408c-9c7e-18edc2b34232

Friday, August 20, 2010

MSIs that need the setup.exe reference

Some vendor MSIs are supplied with setup.exe files.  Attempting to call the MSI directly to install may fail where the MSI needs to reference functionality in the setup.exe itself.  The solution is to provide the MSI with the setup.exe location with command line parameters and use the setup.ini file to input other variables that may be required including additional command line parameters.  Vodafone Mobile Connect v9.9.9.222273 is an example of this.

msiexec /i "vodafone mobile connect.msi" TRANSFORMS=mytransform.mst SETUPEXEDIR=<path to setup.exe> SETUPEXENAME=Setup_vmc.exe

Controlling the "Setup Windows Internet Explorer 8" popup window.

Delete these
HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Main\IE8RunOnceLastShown
HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Main\IE8RunOnceLastShown_TIMESTAMP

to get the setup window in IE8 to run again for the user.

Thursday, August 19, 2010

MsiLockPermissionsEx

The MsiLockPermissions table became available in Windows Installer 5.0 included with the releases of Windows 7 and Windows Server 2008 R2. It provides a better and more effective way of applying permissioning to folders and registry keys. Refer to MSDN for the table structure. The actual permissioning part is a code in a table entry. The code can be generated by using the MMC with the security templates addin. Create a security template and then save it to a file. This will contain the code you need to place into the SDDLText part of the table.

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


to use the security template outside of an MSI the settings can be applied by running

secedit.exe /configure /db %windir%\security\database\filename.sdb /cfg %windir%\security\templates\filename.inf /overwrite /log %windir%\security\logs\filename.log /quiet

This command displays help for the use of the command.

secedit.exe /configure 

REMOVE~="ALL"


REMOVE~="ALL" or NOT REMOVE~="ALL" are examples of logic applied to InstallExecuteSequence and other table entries to control whether the item will be actioned in the case where an uninstall is in progress. I can never remember this hence this blog!