Thursday, October 15, 2015

light.exe : error LGHT0217: Error executing ICE action [root-caused for particular case]

light.exe : error LGHT0217: Error executing ICE action

My builds were cooking fine for years, but something has happened overnight and installer builds (WiX 3.5 based) started to fail on ICE validation:
light.exe : error LGHT0217: Error executing ICE action 'ICE01'. The most common cause of this kind of ICE failure is an incorrectly registered scripting engine. See for details and how to solve this problem. The following string format was not expected by the external UI message logger: "There is a problem with this Windows Installer package. A DLL required for this install to complete could not be run. Contact your support personnel or package vendor. ".
It is needed to mention that mentioned URL is no longer valid. There are two popular answers on Stackoverflow: disable validation or add account to Administrators. I rejected "Disable validation" workaround immediately. I am running legacy builds, so I have to run as Administrator. I want to quote SouthPark here:
I.e., all my scripts were running elevated. Googling for an answer did not help.
The problem is root caused to issues with Bit9 security software (which actually slows down systems significantly and Bit9 support is super slow, but it is topic for another post).

Sunday, July 26, 2015

How to fix "disallowing uninstallation of component since another client exists"?

How to fix "disallowing uninstallation of component since another client exists"?

You have faced a problem when uninstallation of MSI package does not remove files?
MSI database seems to be corrupted, so I did the following:

  1. reg.exe query HKLM\Software\Microsoft\Windows\CurrentVersion\Installer\UserData /d /s /f "full or partial installation path" > reg_draft_cmd.txt
  2. findstr /C:"UserData" reg_draft_cmd.txt > reg_cmd.cmd
  3. Manually replaced "HKEY_LOCAL_MACHINE" with "REG.EXE DELETE HKEY_LOCAL_MACHINE" inside the file
  4. Run as batch file as administrator, you will need to confirm every operation. If you want silent execution, you will need to add /F into the end of every line in the batch file.

Monday, May 25, 2015

Solution for choppy/breaking/stuttering audio on Android for software engineers

If you are a software engineer and you are facing with choppy audio on Android and the only clue is the following line in the logcat:
E/AudioSink(54): received unknown event type: 1 inside CallbackWrapper !
then, don't be sad - you don't have to dig Android sources (you can do that, but is it what you really want to do?) to fix buffer underruns in media system ("1" is AudioTrack::EVENT_UNDERRUN).

I highly recommend to switch from MediaPlayer implementation to OpenMXPlayer, it did solve the problem with choppy audio for me. It has the same API as MediaPlayer, so it shall be super fast for you to try it out and finally switch (when you like it) to OpenMXPlayer.

You can find more details here:

  1. Code (License is GNU LGPL)

It's constructed based on the MediaCodec Api, so it can be used with Android 4.1 or newer. It's fast, easy to understand and robust, making it an excellent choice for your multimedia applications, regardless of the audio source you are targeting: local files or online audio streaming.

If you have other solution or you know some OpenMXPlayer issues, feel free to leave a comment.

Sunday, May 24, 2015

Android Studio build fails with “Task '' not found in root project 'android-UniversalMusicPlayer-master'.”

I was playing with UniversalMusicPlayer sample from and faced with the following error:

Task '' not found in root project 'android-UniversalMusicPlayer-master'
The following fixed the stuff for me:

  1. Kill ~/.graddle folder (C:\Users\\.graddle)
  2. I have launched gradlew.bat from the root folder. Script did some tricks and now it works for me. 

Friday, May 1, 2015

Adobe Creative Cloud Photography Plan: What's included?

The following products are available for installation if you have signed up for "Adobe Creative Cloud Photography Plan":

  1. Photoshop CC (2014) [obviously]
  2. Lightroom CC (2015) [obviously]
  3. Bridge CC: Bridge provides you with centralized access to all the media assets you need for your creative projects. Batch edit with ease, add watermarks, and even set centralized color preferences. Bridge simplifies your workflow and keeps you organized.
  4. Edge Code CC (Preview), seems to be discontinued: Nov 2014: Edge Code is now Brackets! We're discontinuing development of Edge Code. Join us by transitioning to Brackets, a lightweight text editor with the same functionalities & features as Edge Code: Edge Code is a lightweight code editor for web developers and designers working with HTML, CSS & JavaScript. Built to work with browsers, it speeds up development time by displaying changes to the code directly on screen.
  5. Edge Inspect CC: Edge Inspect is an essential application for web developers and designers who need to preview their content across multiple mobile devices. Wirelessly pair multiple iOS and Android devices to your computer, grab screenshots from any connected device, and see real-time results from changes to HTML, CSS, and JavaScript.
  6. Edge Reflow CC (Preview): Start responsive designs faster and create high-fidelity prototypes through media query breakpoints, precise CSS layouts, grouping and more. Edge Reflow now connects directly to Photoshop CC, allowing you to go from static design to responsive comp in just one-click.
  7. Exchange Panel (for CS6 apps)
  8. Extendscript Toolkit CC: Access a rich JavaScript development and execution environment to use directly with scriptable Adobe desktop applications. The ExtendScript Toolkit works with many Creative Cloud applications.
  9. Extension Manager CC: Easily install new extensions and manage the ones you already have. Extensions Manager works side-by-side with many Creative Cloud applications.
  10. Gaming SDK 1.4: The Adobe Gaming SDK provides an essential collection of frameworks, code samples, and learning resources that work together to help developers create and deliver ActionScript games across multiple devices.
  11. Scout CC: Adobe Scout is a lightweight but comprehensive SWF profiling tool designed for Flash game developers. Any SWF file, regardless of whether it runs on mobile devices or in browsers, can be quickly profiled with no change to the code, and Adobe Scout quickly and efficiently detects problems that could affect performance.