System.Windows.Forms.TextRenderer draws blurry text when rendering to bitmap

March 17, 2009

Symptom:

Blurry text is drawn by TextRenderer class when rendering to device context associated with bitmap. It occurs at systems when ClearType is enabled.

How to fix:

Use TextRenderer.DrawText overloads requiring backColor parameter and pass them background color used for font aliasing.


How to backup Narawen Inox POP3 Connector settings

February 3, 2009

To back up the configuration of Narawen Inox POP3 Connector use Registry Editor. All settings are stored at following registry key:

HKEY_LOCAL_MACHINE\SOFTWARE\Virtual Moon\Inox

Just export it to REG file and import in case of need.


Exchange Server rejects huge e-mail messages

February 3, 2009

Symptoms:

Messages bigger than 10 MB are not transferred by Narawen Inox POP3 Connector. They are downloaded from POP3 mailbox and retried to be sent without effect.

Additionally in Application event log InoxSvc records following message:

Report for message 1 of 1 from xxx@xxx

Delivery report:
Status: Not completed
xxx@xxx:
Not delivered. Connection to smtp://exchange-server:25 reported protocol error. 552 5.3.4 Message size exceeds fixed maximum message size.

Message details:

The hint is “fixed maximum message size”. Usually the limit is set in recipient policy. In that case increasing limit at recipient policy will not help. To adjust “fixed maximum message size” proceed with following steps:

  • Exchange Server Management Console
  • Organization Configuration
  • Hub Transport
  • Locate the appropriate Receive Connector
  • Adjust the value of the Maximum Message Size (KB)

  • How to install Polish XT9 dictionary at HTC Touch Cruise

    November 24, 2008

    I own Polish version of HTC Touch Cruise. Unfortunatelly the manufacturer did not equip this device with Polish XT9 dictionary which makes on-screen keyboard very hard to use.

    Today I found working solution for this problem. Member of XDA-Developers forum published great post about how to transplant keyboard software from HTC Diamond device.

    Short instructions:

    1. Download and unzip gullum diamond keys.zip and gullum Polish Diamond keys.zip.
    2. Copy both CAB files to your HTC Touch Cruise
    3. Run and install both CAB files (device will do soft reset after each installation)
    4. At your device open Start / Settings / Input (Start / Ustawienia / Wprowadzanie tekstu)
    5. Select “Touch Diamond Keyboard” as input method.
    6. Click Options button.
    7. Select Polish as input language.

    More keyboards containing XT9 dictionaries are available for download from XDA-Developers forum. There are: Czech, Danish, Dutch, English, French, German, Finnish, Russian, Greek, Italian, Norwegian, Portuguese, Spanish and Swedish.


    SQL Server stored ASP.NET Session variables are lost when switching web servers

    November 20, 2008

    Environment:

    Cluster of multiple web servers (Microsoft IIS) connected through load balancer sharing ASP.NET session variables by using SQLServer mode of <sessionState> configuration.

    Symptoms:

    Session variables are randomly lost and recovered when switching between web servers. Depending on which web server handles the request session variables are different. Some web servers seems to share same set of variables. Others have different set of variables.

    Reason:

    All web site identifiers must be equal at all of web servers. They act as application identifier and each application have separate pool of session variables.

    In my case five of six web servers had equal web site identifiers. The sixth server had different web site identifier. All requests redirected to it seen different session variables than accessible at other web servers.

    To check web site identifier

    1. Open Start / Administrative Tools / Internet Information Services (IIS) Manager
    2. Navigate to (server name) / Web Sites
    3. Switch right pane of console to Details view.
    4. You will see columns: Description, Identifier, State, Host header value, IP address, Port, SSL Port, Status
    5. Read web site identifier from column “Identifier”
    6. Verify if all web servers have equal web site identifier.

    To change web site identifier

    1. Stop the web site (right click at IIS manager and select Stop, there is no need to stop entire IIS).
    2. Open command line console and change current directory to “C:\Inetpub\AdminScripts”.
    3. Run following command:
      cscript adsutil.vbs move w3svc/currentid w3svc/newid
    4. where “currentid” is current web site identifier and “newid” is new web site identifier.
    5. Start the web site.

    Files in PureCM workspace have invalid encoding

    November 14, 2008

    I’ve created a PureCM workspace for web site project. After starting up the site it turns out that all Polish characters are invalid. The site is made in UTF-8 and all files contains texts encoded this way.

    The browser could not identify what kind of encoding is used. I’ve tried with ISO-8859-2 which is another possible standard for Polish characters.

    No effects.

    I’ve checked the file types reported by PureCM. For most of C# code files it was “text/plain” which we configured in repository with following options:

    • File Type: text
    • Selected “Disable writing of unicode identifier”
    • Encoding: System Encoding

    What does “System Encoding” mean for PureCM?

    It turns out that it is a setting for “non-Unicode programs” which can be found in system’s Control Panel / Regional and Language Options / Advanced.

    I’ve created the workspace at new PureCM installation at computer running English Windows version and thas setting was “English” by default.

    To solve the problem I did following steps:

    1. Opened Control Panel
    2. Opened Regional and Language Options
    3. Clicked to Advanced tab
    4. Selected “Polish” as Language for non-Unicode programs.
    5. Rebooted the computer.
    6. Deleted the PureCM workspace.
    7. Created PureCM workspace.

    IIS does not want to start after change of IP

    October 13, 2008

    The IIS 6.0 installed at Windows 2003 Small Business Server refused to start. All web sites reported following error:

    The format of the specified network name is invalid

    Additionally in System event log following errors were logged:

    EventID 1004 from W3SVC: Cannot register the URL prefix …. for site …. The site has been deactivated.

    and

    Event ID 1005 from HTTP: Unable to bind to the underlying transport for …. The IP Listen-Only list may contain a reference to an interface which may not exist on this machine.

    I checked if IIS websites were configured to listen on old IP address only… but no… they were set to “All unassigned”.

    Also I checked if nothing blocks ports 80 and 443 when IIS is stopped….

    After some research I found this Microsoft TechNet page: Configuring the IP Inclusion List (IIS 6.0) which mentiones both events and refers to “httpcfg” utility which is used for configuration of HTTP protocol bindings.

    Unfortunatelly I was working at remote desktop without access to installation CD to install Windows Support Tools containing “httpcfg”. But the solution was quite simple…

    What I did to fix:

    1. Opened the Registry Editor
    2. Navigated to “HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\HTTP\Parameters”
    3. At “ListenOnlyList” registry value there was a reference to old IP address.
    4. Changed the old IP address to new one in “ListenOnlyList” value.
    5. Restarted HTTP service (”net stop http / net start http”)
    6. Restarted IIS service (”net stop w3svc / net start w3svc”)

    And it works now…


    How to fix Windows Vista Explorer to allow selecting multiple files

    July 9, 2008

    I have recently run into problem that my Vista Business did not allow to select multiple files located in particular folder when using Windows Explorer.

    It was not possible to select more than single file by keyboard shortcuts nor with using Ctrl + mouseclick or Shift + mouseclick.

    To fix it I needed to delete registry key located in:

    HKEY_CURRENT_USER\Software\Classes\Local Settings\Software\Microsoft\Windows\Shell\Bags

    This key contains mutliple subkeys where indivdual settings for each folder are saved. Because I could not identify this particular folder settings so just deleted all of them that they returned to factory settings.

    Later I found in Microsoft Knowledge Base solution which does not require manual editing of registry: http://support.microsoft.com/kb/934548/en-us.


    PureCM Windows Client does not open windows

    June 12, 2008

    Today I found PureCM Client refusing to open Submit Changeset window without any reason. The only effect of issuing Submit command was new entry at system’s taskbar.

    It showed title “Submit” but without any context menu nor possibility to play with.

    Finaly I found the method to force PureCM to behave as requested. It turned out that it stores last positions and states of any window open. Somehow entries for my missing window become damaged or invalid.

    I found the registry key which seemed to hold the data:

    HKEY_CURRENT_USER\Software\PURECM Client\Dlgs

    and “fixed” it by deleting it. After reopening PureCM client everything went back to normal. 


    How to stop Narawen Inox POP3 Connector from putting information events into event log?

    May 28, 2008

    By default Narawen Inox POP3 Connector logs all information into Application event log related with messages being transferred. At busy systems it might flood event log with unnecessary information events. You can switch verbose logging off by proceeding with following steps:

    1. Open Administration Application.
    2. Right click at mail transfer host and select Properties menu option.
    3. Select Log tab.
    4. Select “Do not log detailed information events” option.
    5. Click OK button to save the changes.
    6. The InoxSvc service will be restarted to reflect the configuration changes.

    From now on all information messages are disabled. Only warnings and errors will be put into event log.

    Applies to:

    Narawen Inox POP3 Connector 5.2 (2007-11-14)
    Narawen Inox POP3 Connector 5.1 SR1 (2006-09-25)
    Narawen Inox POP3 Connector 5.1 (2006-06-14)
    Narawen Inox POP3 Connector 5.0 (2005-11-10)