Firefox requests for XML format when performing a GET to Web API

Today while testing the Ext JS application I was writing on various browsers, something strange happened. The app works on IE and Chrome, while on Firefox it breaks.

It turns out if not configured correctly WebAPI will return data depending on the Accept HTTP header sent by browsers, and different browsers sent different HTTP Accept header.

More details in the SO answer: http://stackoverflow.com/a/31934984

Firefox prefers XML, so Web API try to serialize data in XML format to return to Firefox.

IE and Chrome doesn’t prefer one over other, so Web API chooses Json.

I solved this issue in Firefox by configuring the web api to always return JSON by adding the following line to WebApiConfig.cs

config.Formatters.JsonFormatter.SupportedMediaTypes.Add(new MediaTypeHeaderValue(“text/html”));

Cannot add duplicate collection entry of type ‘mimeMap’ with unique key attribute ‘fileExtension’ set to ‘.json’

This issue occurred today while I was trying to run an Ext JS application from IIS, because .json files are not accepted by IIS I tried to add this file extension to the application. But instead I got a 500 error when trying to browse the application.

After some digging and searching the MIME types section of the website and all other applications, I couldn’t find the conflicting extension.

I was able to solve the issue by editing the application’s web.config file, right before the mimeMap tag, add a remove tag like following:

<staticContent>

<remove fileExtension=.json/>

<mimeMap fileExtension=.json mimeType=application/json />

</staticContent>

I still have no idea why this works, but it works.

Ext JS component cannot display json data read from proxy

Not entirely sure why, but when using ajax proxies, specifying the URL is not enough, the data won’t be displayed on lists/panels.

A reader must also be defined in the proxy, otherwise the data will not be read correctly

proxy: {
type: ‘ajax’,
url: ‘data.json’,
reader:{
type:’json’,
rootProperty: ‘DATA’
}

}

Make sure that

  • the source data is working, test using Fiddler/POSTMan/etc
  • The model’s fields match the fields in json data, case-sensitive.
  • A reader is configured in the proxy
  • rootProperty is set correctly and match the json data, case-sensitive.

 

Ext JS error [E] Layout run failed error

When I encountered this issue, it was because of the grid panel. According to this Stackoverflow answer http://stackoverflow.com/a/21740832/5539403 it is because the grid panel tries to shrink-wrap its content but there was no content at the time the layout run is executed.

I fixed it by setting the width of the grid panel somehow.

Install Visual Basic 6 in Windows 7

Follow the StackOverflow answer here: http://stackoverflow.com/a/10501908/5539403

The steps are copied here in case link is dead

  • Before proceeding with the installation process below, create a zero-byte file in C:\Windowscalled MSJAVA.DLL. The setup process will look for this file, and if it doesn’t find it, will force an installation of old, old Java, and require a reboot. By creating the zero-byte file, the installation of moldy Java is bypassed, and no reboot will be required.
  • Turn off UAC.
  • Insert Visual Studio 6 CD.
  • Exit from the Autorun setup.
  • Browse to the root folder of the VS6 CD.
  • Right-click SETUP.EXE, select Run As Administrator.
  • On this and other Program Compatibility Assistant warnings, click Run Program.
  • Click Next.
  • Click “I accept agreement”, then Next.
  • Enter name and company information, click Next.
  • Select Custom Setup, click Next.
  • Click Continue, then Ok.
  • Setup will “think to itself” for about 2 minutes. Processing can be verified by starting Task Manager, and checking the CPU usage of ACMSETUP.EXE.
  • On the options list, select the following:
    • Microsoft Visual Basic 6.0
    • ActiveX
    • Data Access
    • Graphics
    • All other options should be unchecked.
  • Click Continue, setup will continue.
  • Finally, a successful completion dialog will appear, at which click Ok. At this point, Visual Basic 6 is installed.
  • If you do not have the MSDN CD, clear the checkbox on the next dialog, and click next. You’ll be warned of the lack of MSDN, but just click Yes to accept.
  • Click Next to skip the installation of Installshield. This is a really old version you don’t want anyway.
  • Click Next again to skip the installation of BackOffice, VSS, and SNA Server. Not needed!
  • On the next dialog, clear the checkbox for “Register Now”, and click Finish.
  • The wizard will exit, and you’re done. You can find VB6 under Start, All Programs, Microsoft Visual Studio 6. Enjoy!
  • Turn On UAC again

  • You might notice after successfully installing VB6 on Windows 7 that working in the IDE is a bit, well, sluggish. For example, resizing objects on a form is a real pain.
  • After installing VB6, you’ll want to change the compatibility settings for the IDE executable.
  • Using Windows Explorer, browse the location where you installed VB6. By default, the path is C:\Program Files\Microsoft Visual Studio\VB98\
  • Right click the VB6.exe program file, and select properties from the context menu.
  • Click on the Compatibility tab.
  • Place a check in each of these checkboxes:
  • Run this program in compatibility mode for Windows XP (Service Pack 3)
    • Disable Visual Themes
    • Disable Desktop Composition
    • Disable display scaling on high DPI settings
    • If you have UAC turned on, it is probably advisable to check the ‘Run this program as an Administrator’ box

After changing these settings, fire up the IDE, and things should be back to normal, and the IDE is no longer sluggish.

Cannot find Microsoft Date and Time Picker ActiveX control in Excel 2013

I was able to solve this problem by install Visual Basic 6.0 and Service Pack 6 for VB6, the control is in mscomctl2.ocx file.

Alternatively, the problem can be solved by installing the windows common controls pack manually.

Follow the article: https://support.microsoft.com/en-us/kb/957924

And it seems in order to install this pack, Visual Basic 6.0 sp6 needs to be installed?