Windows 10 app DPI

I received at least one comment from the user that said that WinForms app had weird font sizes. This is likely caused by the DPI issues when text size is set to large in the OS settings and screen resolution is very high. User complained that he couldn’t get to the executable to tweak the compatibility settings. It is super easy to get to the location of the exe file using Sysinternals Process Explorer. Once you have the path to the exe file you should be able to mess with the compat settings in the exe properties. Incidentally attaching external monitor with 100% resolution and text size will be the easiest way to deal with this. Shouldn’t be an issue attaching external monitor since pretty much everyone works from home these days.

Posted in Uncategorized | Tagged | Leave a comment

Telemetry: crashes coming from Korean market seem to be caused by Wowsoft products

Users of Wowsoft products, particularly their application called PrintChaser should read this post.

Recently I noticed error messages in the telemetry that come mostly from Korea that look like this:

invalid_handle_c0000008_druver64.dll!unknown

Fortunately druver64.dll is not a malware according to this report. Other reports state that it is signed with valid certificate. If you can, you should try to remove it from your system. If you run apps from this software vendor, experienced crashes and were able to uninstall it, please let everyone know if this solved the crash or hang problems. I need a confirmation. There are lots of users in the Korean market and some may end up in a similar situation. They for sure would appreciate this confirmation.

The app store app distribution has huge benefits. Free telemetry is one of them: I can see crashes, hangs and out of memory errors. The number of errors relative to the number of user sessions is very small. The tools are mature and over the years I was able to take care of what I saw in the stack traces as well as address cases that users were willing to share with me directly.  The rest of the errors that I saw in the recent app health telemetry are “Unknown” and come without stack traces. This usually means user PC settings are preventing the details to be sent out to the app store or the crash was caused by an unrelated to the app process (i.e., it is not the app’s fault).  I can’t take any corrective actions because I have no idea of what is happening. Tight lock down of the user PC in and by itself could be the reason for the crash or a hang of any Windows apps that need to access local or network files.  An overly restrictive policy may block an attempt to access a file (or sometimes even an attempt to navigate to a network location of the file) causing 3rd party apps to crash. Anyone who experienced a recent crash which most likely will come to me labeled as “Unknown” is welcome to share the details.  I will try to address what I can.

Posted in Computers and Internet, Uncategorized | Tagged , , | Leave a comment

New Windows 10 versions of the XLStyles Tool and Windows 7 end of life impact

Windows 7 is reaching the end of life milestone on January 14th 2020. I see a lot more users upgrading to the store app in the last couple of months. As a result of this I’m pushing out several updates:

  1. Windows 10 UWP 64-bit version 3.0.1.0 of the app. It uses an .msix package that should meet the requirement of the private store distribution. The latest UWP submission has “Allow organization-managed (offline) licensing and distribution for organizations” option enabled. I will need to work with someone in the community to validate that it works and to document the steps to help other organizations in a similar situation. Hope someone will step up. I don’t have the environment to try this out.
  2. .Net Core 3.0 went GA on September 23rd 2019. This is very important milestone for the XLStyles Tool app because .Net Core 3.0 supports self-contained distribution as well as WinForms UI with file drag and drop that everyone loves. Over the years I had to deal with many user reported issues that related to missing, corrupted or wrong .Net Framework version running on the user PC. .Net Core 3.0 self-contained deployment option solves this problem at the cost of a larger size download which given the benefits and modern PC disk sizes shouldn’t be an issue. I’ve spent the last 3 weeks working tirelessly on creating a port. This version is now available in the app store XLStylesToolDNC30. I’ve set the lowest possible price of $0.99 for it. Easy way to get the app for free: you can sign up for Microsoft Rewards, collect 1600 points (takes about a week), get the $1.25 gift  card for Microsoft Store and get this app for absolutely free leaving you with $0.26 to spend on other stuff :). This option removes the need for using your credit card in the App Store.

Naturally I’m expecting a backlash from some users for item #2 even though I’m describing an easy way to get the app for free using the Microsoft Rewards path. Why? Because to date I actually even had users complaining about the ads in the original Win 8.0/8.1 app store version. How can someone complain about something that solved a pretty serious problem and they got that benefit for absolutely free in the first place? This part beats me. I didn’t expect that when I created and published the tools. In contrast there were a lot more users that left super nice comments and expressed the desire to make a contribution to the project. Some even suggested donating to charities in my name. People like that is what motivates me to keep this project going for over a decade. I feel that I owe an explanation for making this decision for item #2 to the loyal XLStyles Tool audience, especially the ones that are coming from Windows 7 version of the tool and probably expect exactly the same experience in Windows 10.

So here are the reasons that I will be pointing everyone who decides to complain about the 99 pennies price tag to:

Reason #1: You don’t have to acquire .Net Core 3.0 version. Unless of course you really hate ads in your apps (ads help keep the apps free; same paradigm as your favorite news web site). You won’t be missing anything. I made sure to keep full feature parity. The UWP version is based on the exact same patented algorithm (i.e., file cleansing works exactly the same) and is absolutely free. The 99 cent version is for people that want to support my telemetry gathering initiative (read #4 below) and/or really like WinForms UI. Or feel like contributing to the project that has been going on for 10+ years now on pure enthusiasm and desire to do the right thing.

Reason #2: User base expanded exponentially and there are time consuming follow ups. I’m responding to every legitimate question posted on this blog and to private e-mails. Some edge cases take lots of time to work through. I really appreciate all constructive  and actionable user feedback that makes my tools better.

Reason #3: I plan to stick to the App Store distribution because it is very secure and reliable way to deliver the app and periodic updates to the users seamlessly. Microsoft scans all apps published to the app store for viruses and common issues. This is big benefit. However, there is always a price to pay: publishing process is very tedious and occasionally painful. Some submissions take a lot of time, patience and effort.

Reason #4: If the .Net Core 3.0 version becomes popular which I suspect it might because I’ve heard non-stop requests to resurrect the minimalist WinForms UI on Windows 8.0/8.1/10 I will need to collect app telemetry: usage and more importantly crashes. Win 8.1 app provided it for free which allowed me to see all errors and fix the issues that cause crashes. For .Net Core version I would like to use this service: https://appcenter.ms which is $40 per month. If I hit this mark in monthly revenue to hopefully at least break even it would put WinForms version telemetry on the same level as a UWP app. This was another major factor why I went with the store app distribution. The main reason for the app store of course is secure content delivery as I mentioned earlier.

Reason #5: The costs of maintaining and supporting multiple versions of the XLStyles Tool have skyrocketed. E.g., System.IO.Packaging namespace in .Net Core 3.0 switched to System.IO.Compression forcing me to do full base class re-write. .Net Core 3.0 is open source project and although it is maintained by Microsoft, there were many annoying issues related to full .Net Framework incompatibility to work through. I do this work on my own time at night and on the weekends.

Please post feedback and share your thoughts on the tools and these updates. I put a lot of time and effort into this. The ripple effect of this project made MS Excel better starting with Excel 2007 SP2 if I remember correctly. That is over a billion users and those just the ones that pay the licensing fees.   I will respond and attempt to accommodate all user requests and feedback. These tools are meant to be easy to use. I’m particularly interested to hear the feedback from the users that don’t have access to the app store. I will need to figure something out for how the new apps can be delivered to you and make sure it is done in the most secure way possible. You should never ever under any circumstances download XLStyles Tool from non-store sources or links that are not published on my site.

Posted in Computers and Internet | Tagged , , , | 14 Comments

Windows 10: private app store for XLStyles Tool

UPDATE [10/12/19]: see this post for an important update regarding private store distribution improvements.


I’ve received questions from a small number of users that have Windows App store disabled by their IT departments.  Microsoft fully supports private store app distribution for approved by IT apps. If you work in one of these locked down organizations, please encourage your IT to try these steps: https://docs.microsoft.com/en-us/microsoft-store/distribute-apps-from-your-private-store. Windows Apps store is by far much more secure way to distribute and seamlessly update modern apps. I’m posting this because someone just now chimed in and said that his IT department locked the app store distribution, but would allow him to run an exe. This is such backwards thinking. App store apps at the time of publishing are checked by Microsoft staff, scanned for viruses and are digitally signed when they pass pretty stringent security, regulatory and quality criteria. We need to collectively do some IT educating here – if they lock down the app store access, they definitely should invest in the setup of the private store for critical to business users app like the XLStyles Tool. Now, I don’t have the environment to test this out, so if you went through the steps in your org, please share your experience.  You are getting XLStyles Tool for free, so please spend  couple of minutes for the benefit of the user community to share your experience and important tips if you successfully setup you private store.

Posted in Computers and Internet | Tagged , , , , | 53 Comments

ImageShrinker updated in response to OneDrive restrictions

I received an e-mail notifying me that my OneDrive quota got reduced. I use OneDrive to securely distribute non-Microsoft store apps from this blog. It was time to do two things: 1) Complain to get the storage back. It is pretty lame to give and take it back especially when cloud storage is so cheap. 2) Dust off good old ImageShrinker and reduce size of my cloud stored pictures. I updated it in the process:

  1. Added higher resolution width option of 2048 (previously 1024)
  2. Added image folder drag and drop. No need to select the folder using file picker dialog, just drag and drop folder from file explorer
  3. Added tool tip to “Get Path” button to make it more obvious that there is drag and drop option in the updated app
  4. Improved error handling
  5. Improved dpi settings to get better compression

If you ended up in the same situation with OneDrive as me and have a lot of images there, you can shrink them without noticeable loss of quality using my app. I got on average 75% reduction in file sizes. Now I’ll be waiting for Microsoft to wake up and get loyal OneDrive users storage back.

Posted in Uncategorized | Leave a comment

Windows store app shows: “End of Central Directory record could not be found”

I’ve seen a couple of crashes captured in the windows app store telemetry over past couple years. No one has reported exact repro steps or provided even a slightest hint in the comments yet that may point to the root cause, so I decided to simulate the crash myself.  I didn’t succeed, but I did find out that in Windows 10 encrypted files (i.e., files saved with password to open) result in a message that doesn’t explicitly say that the file is encrypted.  In the WinForms app the message was “file contains corrupted data” and it was well documented on this site and the ReadMe file. If you see the message above in the app store app, remove the file password before running the file scan in the app.

If someone can get me crash repro steps I would very much appreciate it.  I want to know if this is the app, OS or something in the users files that is causing it.

Posted in Uncategorized | Leave a comment

2015 in review

The WordPress.com stats helper monkeys prepared a 2015 annual report for this blog.

Here’s an excerpt:

The Louvre Museum has 8.5 million visitors per year. This blog was viewed about 160,000 times in 2015. If it were an exhibit at the Louvre Museum, it would take about 7 days for that many people to see it.

Click here to see the complete report.

Posted in Uncategorized | 1 Comment

Windows 10 and SL5 version of the tool

I updated Azure hosted SL5 version of the XLStyles Tool couple of minutes ago to stop working on Windows 10 since it went RTM last week.  There are couple of reasons for it: Silverlight is not supported in the Windows 10 Edge browser just like it wasn’t supported in the immersive IE in 8.1 (makes it really confusing for the users), as unfortunate as it is SL5 is not coming back and I’m starting to look into potential modifications that may come from Office 16 and would like to focus on the most popular versions of the tools first. The app store version is optimized for Windows 8/8.1/10 experiences and actually looks pretty awesome in Windows 10.  Let me know if for any reason you want me to add SL5 version support back for Windows 10.

Posted in Computers and Internet | Tagged , | 26 Comments

Build Conference 2015 and Significance of Windows 10

I really wanted to make this post in time for the Build 2015 Conference that opens tomorrow in San Francisco. Windows 10 will be in the spotlight. Why is Windows 10 important? It is not about the new UI features and the return of the start menu for me. It is all about security improvements. I’ve helped numerous friends and family members over the years to deal with various types of malware. It made me learn several fascinating subjects in the area of cyber security. Windows 10 seem to be closing many of the security vulnerabilities and some of the well-known attack vectors. One of my FB friends got her PC user files fully encrypted by a malware couple of weeks ago. Someone on FB went as far as to suggest using Linux. I wanted to see for myself what was done in the latest Windows builds to mitigate the attacks. I spent a couple of weeks hammering on what I could find (it included the latest Windows 10 and 8.1 builds) using some well-known hacking tools. I would strongly recommend to anyone on older versions of Windows to upgrade if you care about security. For example, in-memory credentials theft using tools like mimikatz by total genius Benjamin Delpy is no longer possible unless you are explicitly enabling legacy providers on your PC. Windows 7 and even Windows 2012 Server (non-R2) still has in memory credentials vulnerability. The one vector that still worked on Windows 10 was PTH. I explored this scenario in depth. The scary part was that in one of the scenarios that I tried I re-set the test account password that I used in the session that I took over, but the token from a week old session still worked and allowed me to access resources available to that account. This last attack requires administrator privilege though. If someone gets privilege elevation and admin access it is pretty much over for the local machine anyway. I’m sure there will be PTH defenses for the networked environments and will make another post when I will get more research done on this subject. PTH threat is still out there, but at least Windows 10 and latest builds of 8.1 make your credentials much safer. At least if you will run Windows 10 you will be sending script kitties to look elsewhere to practice their hacking skills.

Posted in Computers and Internet | Tagged , , , , | Leave a comment

XLStyles Tool store app works great on latest Windows 10 build 9926

I installed Windows 10 Technical Preview today and went through all XLStyles Tool usage paths. All issues that came up in the previous build have been fixed (e.g., file picker started working as expected, cancelling file open action no longer pops an error message, etc…). I haven’t found a reason to re-compile the most recent build of the app yet. Windows 10 feels very clean, fast and responsive.

Posted in Uncategorized | 22 Comments