Archive

Posts Tagged ‘Windows’

Fix: Windows Update 0x8e5e03fa, 0x800703fa errors

Sometime ago, I was receiving errors 0x8e5e03fa and 0x800703fa on several pending updates at Windows 10’s Update pane (found at Settings / Updates & Security / Windows Update from the Start menu).

Στιγμιότυπο οθόνης (692)

The updates history wasn’t showing many more details, but could see Knowldege Base article numbers (KBxx) for some pending cummulative updates.

Στιγμιότυπο οθόνης (700)

Trying to update some graphics drivers from the Device Manager (can access that by right clicking the Start menu button and selecting “Device Manager” from the popup menu shown on Windows 10), by right-clicking respective devices and selecting to update their drivers, was also failing.

Στιγμιότυπο οθόνης (688)

Στιγμιότυπο οθόνης (691)

So it did look like a systematic issue, not some issue with some specific update item.

Looked up the error code 0x8e5e03fa via Google and found this article mentioning a JET (database engine) error. That’s the same engine used in Access if I remember well, interesting that it’s getting used by Windows Update too (probably to maintain some private database).

Στιγμιότυπο οθόνης (698)

The suggested fix didn’t work since the file mentioned in that article was not existing, but at that folder (%windir%\system32\catroot2) I found a dberr.txt file that obviously was holding some error log.

Στιγμιότυπο οθόνης (694)

Printing out that file (can use TYPE dberr.txt | more to wait after each “page”), I couldn’t help but notice that it was writing JET error all over it.

Στιγμιότυπο οθόνης (693)

I renamed that file (think it was then recreated again automatically) and also renamed the two folders there (using the move command – e.g. can type move, press TAB till the name of the folder appears and then add a minus sign and press TAB again till the same folder name appears and press ENTER). Did that while having the cryptsvc service stopped (using net stop cryptsvc command) as that article suggested. Then started the service again (using net start cryptsvc). 

Στιγμιότυπο οθόνης (696)

After doing this, all failing updates (some extra driver updates had been found using DriverBooster, but were also failing to install) eventually installed fine and Windows 10 started bringing more updates:

Στιγμιότυπο οθόνης (699)

Advertisements

Redirecting output of batch file from the inside

Calling a label in a batch file is useful to redirect (for logging) the output of the batch file to a file from inside that same batch file, without needing to author a separate batch file to do the redirect of standard output.

@echo off

call :process > update_cxml.log
goto :EOF

:process

(Revised previous version of this post)

Categories: Posts Tags: , , , ,

Suggestion: Add Fullscreen and Pin buttons on Titlebar of Windows

Here are some suggestions I’ve sent via Windows Insider feedback app for Windows 10:

1) Add the Fullscreen button to titlebar of ALL windows, not just the ones of Windows 8.1 Store apps. UWP (Universal Windows Platform) apps don’t seem to show zoom button on their titlebar (to make it and any borders autodisappear and take up the whole screenspace) – this is very inconsistent and limiting compared to Win8.1 Store apps.

2) Add a Pin button next to zoom/minimize/restore/close buttons on titlebar of a window to make the window stay on top. User should be able to click a pinned window to bring it to front if there are several ones pinned to top. Currently some tools apps (e.g. task manager) have such functionality, but it is in their menus. It would be handy if all apps had this.
 
Take care though that any windows that are children (modal or not) of a pinned window also appear on top (pinned) and not behind the app. So a user should be able to pin a child window independently, but when a window is pinned, all its child windows should become pinned with the pin button disabled on them till the parent window is unpinned, or instead better make the pin of the child window be linked to the pin of the parent so that the user can pin/unpin the parent and all child windows from the titlebar pin of anyone of them.

An issue may occur with some programs like TeamViewer that add an extra button on the titlebar of Windows, but they could easily fix their code to see what other buttons there are on the titlebar to not overlap with them (or some compatibility code of Windows could move such buttons a bit more to not overlap in the case of legacy software that has an issue when more buttons than they expect are on the titlebar)

Categories: Posts Tags: , , , ,

Managed .NET Speech API links

(this is my answer at http://stackoverflow.com/questions/14771474/voice-recognition-in-windows)

I’m looking into adding speech recognition to my fork of Hotspotizer Kinect-based app (http://github.com/birbilis/hotspotizer)

After some search I see you can’t markup the actionable UI elements with related speech commands in order to simulate user actions on them as one would expect if Speech input was integrated in WPF. I’m thinking of making a XAML markup extension to do that, unless someone can point to pre-existing work on this that I could reuse…

The following links should be useful:

http://www.wpf-tutorial.com/audio-video/speech-recognition-making-wpf-listen/

http://www.c-sharpcorner.com/uploadfile/mahesh/programming-speech-in-wpf-speech-recognition/

http://blogs.msdn.com/b/rlucero/archive/2012/01/17/speech-recognition-exploring-grammar-based-recognition.aspx

https://msdn.microsoft.com/en-us/library/hh855387.aspx (make use of Kinect mic array audio input)

http://kin-educate.blogspot.gr/2012/06/speech-recognition-for-kinect-easy-way.html

https://channel9.msdn.com/Series/KinectQuickstart/Audio-Fundamentals

https://msdn.microsoft.com/en-us/library/hh855359.aspx?f=255&MSPPError=-2147217396#Software_Requirements

https://www.microsoft.com/en-us/download/details.aspx?id=27225

https://www.microsoft.com/en-us/download/details.aspx?id=27226

http://www.redmondpie.com/speech-recognition-in-a-c-wpf-application/

http://www.codeproject.com/Articles/55383/A-WPF-Voice-Commanded-Database-Management-Applicat

http://www.codeproject.com/Articles/483347/Speech-recognition-speech-to-text-text-to-speech-a

http://www.c-sharpcorner.com/uploadfile/nipuntomar/speech-to-text-in-wpf/

http://www.w3.org/TR/speech-grammar/

https://msdn.microsoft.com/en-us/library/hh361625(v=office.14).aspx

https://msdn.microsoft.com/en-us/library/hh323806.aspx

https://msdn.microsoft.com/en-us/library/system.speech.recognition.speechrecognitionengine.requestrecognizerupdate.aspx

http://blogs.msdn.com/b/rlucero/archive/2012/02/03/speech-recognition-using-multiple-grammars-to-improve-recognition.aspx

Kinect for Xbox 360 and Kinect for Windows (KfW) v1 specs

Picture

JJ131033.k4w_sensor_2(en-us,IEB.10).png

picture

1) 3D Depth sensor (IR Emitter + IR Camera / Depth Sensor)

2) RGB camera (Color Sensor)

3) Microphone array

4) Tilt motor (for detecting floor and players in the playspace)

 

Kinect Specifications
Viewing angle Field of View (FoV): 43° vertical x 57° horizontal
Vertical tilt range ±27°
Frame rate (depth and color stream) 30 frames per second (FPS)
Audio format 16-kHz, 24-bit mono
pulse code modulation (PCM)
Audio input characteristics 4-microphone array
24-bit analog-to-digital converter (ADC)
onboard signal processing (including acoustic echo cancellation & noise suppression)
Accelerometer characteristics 2G/4G/8G accelerometer configured for 2G range
1° accuracy detail limit
(can help detect when the sensor is in an unusual orientation)

 

Sources:

https://en.wikipedia.org/wiki/Kinect

https://support.xbox.com/en-US/xbox-360/kinect/kinect-sensor-components

https://msdn.microsoft.com/en-us/library/jj131033.aspx

Fix: How to remove Trovigo.com, SearchProtect, restore Internet Options

Trovigo.com is an unwanted search engine hijacker that renders Internet Options of Windows / Internet Explorer inaccessible. To restore them on an older Windows XP installation, one way that I’ve found to work is to update Internet Explorer to a newer version, aka IE 8 (say via the embedded Windows Update facility or Microsoft Update website – http://update.microsoft.com)

The software is also probably related to a software (at least on the machine I was fixing) called "Search Protect", that is running a service and two other processes that one launches, that tries to stop you from killing it and from changing search engine option in the web browser. To remove that you can use Process Explorer from http://www.sysinternals.com:

  1. Right-click the SearchProtect service and select Suspend (do the same for the two other processes it uses) to freeze it (breaks into the process with the debugger).
  2. Right click the service node (that has the other two processes shown as children under it in the process tree) and select "Kill process tree".
  3. Go to %ProgramFiles% (usually C:\Program Files) using Windows Explorer address bar (or type this in Start/Run… dialog and press OK) and remove the folder "SearchProtect"
  4. Use free software like CCleaner (http://www.piriform.com) free edition (it has a tool to edit startup entries) or the really powerful Autoruns one to remove the now broken (since you deleted the software at step #3 references in various Windows settings that try to launch the SearchProtect software (Autoruns shows in yellow startup references to missing files, can right click and delete those entries).

HowTo: Drop files onto Silverlight controls

I was recently adding drop-files support to ClipFlair Studio, so I had to do some research on the related API that is available to Silverlight apps.

Silverlight supports a limited set of Drag-and-Drop interaction with the operating system (supposedly for security reasons, but most probably because of the classic cross-platform implementation pains).

For example it allows you to drop a collections of file objects from the operating system’s file explorer (or other similar application) onto a Silverlight drop target, but not the other way around.

Also, it doesn’t allow dropping other flavors of content, like text, images etc., only collections of file objects.

To allow dropping files onto a Silverlight control you set AllowDrop property to true and handle the Drop and optionally the DragEnter/DragOver/DragLeave events to provide visual feedback during the drop operation (mostly when over the drop target, unless you do Mouse Capturing).

<RichTextBox
  x:Name="rtb"
  …
  AllowDrop="True" 
  Drop="rtb_Drop"
  DragEnter="rtb_DragEnter"
  DragOver="rtb_DragOver"
  DragLeave="rtb_DragLeave"

  />

 

  #region DragAndDrop

    private void rtb_Drop(object sender, System.Windows.DragEventArgs e)
    {
      VisualStateManager.GoToState(this, "Normal", true);

      //the Drop event passes in an array of FileInfo objects for the list of files that were selected and drag-dropped onto the RichTextBox.
      if (e.Data == null)
        return;

     IDataObject f = e.Data as IDataObject;
      if (f != null) //checks if the dropped objects are files

      {
        object data = f.GetData(DataFormats.FileDrop); //Silverlight only supports FileDrop
        FileInfo[] files = data as FileInfo[]; //…GetData returns null if format is not supported

        e.Handled = true;

        if (files != null)

          //Walk through the list of FileInfo objects of the selected and drag-dropped files and parse the .txt and .docx files
          //and insert their content in the RichTextBox.
          foreach (FileInfo file in files)
            Load(file, false);
      }

    }

    private void rtb_DragEnter(object sender, System.Windows.DragEventArgs e)
    {
      VisualStateManager.GoToState(this, "DragOver", true);
      e.Handled = true;
    }
   
    private void rtb_DragOver(object sender, System.Windows.DragEventArgs e)
    {
      e.Handled = true;
      //NOP
    }

    private void rtb_DragLeave(object sender, System.Windows.DragEventArgs e)
    {
      VisualStateManager.GoToState(this, "Normal", true);
      e.Handled = true;
    }

    #endregion

 

For the visual feedback you can use VisualStateManager and respective VisualStates at say a Grid that wraps the drop target in the XAML layout.

<Grid x:Name="LayoutRoot">
   <VisualStateManager.VisualStateGroups>
     <VisualStateGroup x:Name="DragStates">
       <VisualStateGroup.Transitions>
         <VisualTransition GeneratedDuration="0:0:0.3">
           <VisualTransition.GeneratedEasingFunction>
             <CircleEase EasingMode="EaseIn"/>
           </VisualTransition.GeneratedEasingFunction>
         </VisualTransition>
       </VisualStateGroup.Transitions>
       <VisualState x:Name="Normal"/>
       <VisualState x:Name="DragOver">
         <Storyboard>
           <ColorAnimationUsingKeyFrames Storyboard.TargetProperty="(Control.Background).(SolidColorBrush.Color)" Storyboard.TargetName="rtb">
             <EasingColorKeyFrame KeyTime="0" Value="#FFFFF7D1"/>
           </ColorAnimationUsingKeyFrames>
         </Storyboard>
       </VisualState>
     </VisualStateGroup>
   </VisualStateManager.VisualStateGroups>

 

Note that on MacOS-X Safari doesn’t pass drop events automatically to plugins and you have to catch them via Javascript and pass them to Silverlight, plus I’ve read that in MacOS-X Firefox doesn’t support this at all.

Even worse, Microsoft’s workaround article has a typo in the Javascript (should call dragDrop instead of drop) and there is a chance it doesn’t work in latest version of Safari. For more see:

http://msdn.microsoft.com/en-us/library/ee670998%28v=vs.95%29.aspx

http://social.msdn.microsoft.com/Forums/silverlight/en-US/42a6b672-7d26-4690-be80-2149da755020/silverlight-4-detect-file-drop-event-on-mac?forum=silverlightarchieve&prof=required

http://community.rightpoint.com/blogs/viewpoint/archive/2011/03/27/silverlight-4-file-drag-and-drop-on-firefox-on-mac.aspx

http://www.telerik.com/forums/dropping-files-using-safari-on-mac (this says one can use HTML5 events and the Silverlight HTML/Javascript Bridge to notify Silverlight)

http://www.thebuzzmedia.com/html5-drag-and-drop-and-file-api-tutorial/

%d bloggers like this: