Gary Davis' Blog

DotNET/PayPal Development and other Techie Stuff
posts - 45, comments - 104, trackbacks - 0

Saturday, March 29, 2014

How I solved "Unable to access HASP SRM Run-time Environment? (H0033)"


My wife asked me to install her Viking embroidery “5D” software on her Surface Pro PC so she could use the touch tablet and pen to do graphics drawing and editing in the Design Creator.

The software is protected by requiring the user to have a USB dongle plugged in when running the program.

Installation went through normal software install and then it also had 3 updates to install. Two of the updates seemed to end with an error, perhaps because I did not reboot the PC after each (it was not clear whether or not to do this). At any point, running the program with the dongle installed resulted in the H0033 error.HASP Dongle

I tried doing a repair install and also install of drivers (from the main install menu) – neither helped.

Searching on this error showed several hits saying to go to the windows Services and enabling the HASP License Manager (or Sentinel HASP License Manager) but in my case, I did not have the HASP entry in Services.

I looked in the Device Manager and saw an error for the HASP device and its properties said the device driver was not installed. Doing an Uninstall followed by a Scan for New Hardware did not help.

Some posts said to try to go to this url in your browser: http://localhost:1947 but that just displayed an error. Normally, this would display the HASP SRM Admin Control Center.


I eventually found a post to download the HASP SRM Runtime drivers at Installing this did solve the H0033 error. Also, once installed, the dongle light was lit and the http://localhost:1947 worked.

From the download page, I chose to install the Sentinel HASP/LDK Windows GUI Run-time Installer.


Copy of HASP SRM Runtime download zip file:

  • V7.32 as of Apr. 2015: Click here – This is the latest version.

Please post feedback on your results.

posted @ Saturday, March 29, 2014 5:24 PM | Feedback (53) |

Saturday, October 19, 2013

How I Got My Verizon Lumia 822 to Work on AT&T

I got a Nokia Lumia 822 Windows Phone as a developer promo and my wife wanted to use it instLumia-822ead of her Lumia 920 since it had most of the features but was a bit smaller and a lot lighter in weight.

So I moved over the micro-sim card and everything worked fine except for the data connection. The 822 is unlocked already so there was no need to get an unlock code and unlock it from Verizon to use on AT&T.

To get the data to work, it is simply a matter of entering AT&T’s APN in the Settings->Cellular->Add internet APN. For the APN field, enter wap.cingular. No other fields need to be set. Finally, click on the Save button.

That’s all there is to it! Now check your Internet access.

posted @ Saturday, October 19, 2013 10:02 AM | Feedback (5) |

Sunday, September 15, 2013

How I Got My NookColor CM 10.2 to Mount SDCard Partition 4

Years ago, I rooted my NookColor to replace its eReader functionality with a standard Android tablet operating system. I used CyanogenMod version 7 and periodically upgraded to new versions.

Initially, I left the stock B&N eBook code (ROM) alone in the device and put all the modifications, upgrades, hacks, etc. on an SDCard left in place in the slot. Eventually, around CM 10.1, I decided to replace the B&N ROM with the CM 10.1 since I never booted into the stock ROM anymore. I did leave the SDCard in place and using the TWRP (TeamWin Recovery Project), I could select at boot time which ROM to boot into.

The SDCard is formatted with four partitions when set up to install or update CM7 ROMs. The first partition (partition #1 since numbering starts at 1 instead of 0), has the boot files and is a small partition. Partition #4 has the remainder of the data of the SDCard for pictures, videos, music, apps or whatever.

When booting to the device (emmc) ROM instead of to the SDCard ROM, the system mounts the 1st partition of the SDCard for data (called sdcard1). Since I have my data on partition #4, after installing a ROM upgrade, I would modify the boot to instead mount partition $1 as data. The way I did this was to modify file /system/etc/vold.fstab and change auto to 4 for the sdcard entry. Auto winds up mounting partition #1.

dev_mount sdcard /mnt/sdcard auto /devices/platform/mmci-omap-hs.0/mmc_host/mmc1

Well, when I upgraded to CM 10.2, which is Android Jellybean version 4.3, I could not find the file to edit. Some Binging around showed that vold.fstab was no longer used in 4.3. Instead, there was a file /init.encore.rc which was used at boot time to do various things including the filesystem mounts. This file mount_all to mount all requests in /fstab.encore. Looking at this file shows the statement:

/devices/platform/omap/omap_hsmmc.0/mmc_host/mmc1 /storage/sdcard1
auto defaults voldmanaged=sdcard:auto

This is the line that has to change. Note there are two autos in that statement; the first is the filesystem type (for NookColor, it is basically VFAT) and the second is the partition number which is the one to change.

I switched to SuperUser mode and edited the file to change auto to 4 and rebooted. It did not work. The edited file was back to what it was originally.

A bit more Binging showed that the files are replaced at boot time with versions in the boot uRamdisk file. So I had to extract the fstab.encore file from the uRamdisk file, edit it and then replace the modified file back into the uRamdisk.

There are several steps to do this and there are various ways to do this. This is what I did.

The uRamdisk file is in boot partition #1 (on the device, not the SDCard). Once booted, this partition is not accessible so the first step was to mount partition #1 Using the terminal emulator in SuperUser mode:

cd /emmc

mkdir boot

mount –t vfat /dev/block/mmcblk0p1 boot

This switches to the /emmc folder which is the internal sdcard0 and is writable. Create an empty folder to be used as a mount point named boot. Finally mount the boot partition (device 0, partition #1) at /emmc/boot. Note, /emmc is the same as /storage/sdcard0. Also, /sdcard is the same as /storage/sdcard1.

Next, plug in your Nook to your Windows PC and enable the USB file sharing. Use explorer to locate the /emmc/boot/uRamdisk file to verify it is where you expect it. The emmc folder will be assigned a drive letter. If an external SDCard is in the Nook, it also will get a drive letter. Copy the uRamdisk file to your PC as a backup.

To extract the fstab.encore file, use BootUtil as discussed here. Download the BootUtil to a folder. Start a command prompt and change to that folder. Extract the fstab.encore file from the Nook version of the uRamdisk file (or use a local version if you prefer), edit it with notepad and replace the file back into the uRamdisk.

bookutil /l x:\emmc\boot\uRamdisk [optional list contents]

bookutil /v /x x:\emmc\boot\uRamdisk fstab.encore

[edit fstab.encore to replace the second auto with 4]

bookutil /v /r x:\emmc\boot\uRamdisk fstab.encore

Stop the USB file sharing, disconnect the cable, dismount the mounted boot

umount boot

Reboot and you should now have your SDCard partition #4 mounted

There are other ways of doing parts of this procedure such as using ADB or Samba, wifi instead of USB, dd instead of BootUtil, etc. If you have ideas on doing this without using the terminal console or all on the Nook instead of a Windows PC, please add some comments.

posted @ Sunday, September 15, 2013 2:54 PM | Feedback (1) |

Tuesday, January 15, 2013

How I Lost My Windows 7 Firewall Rules

I run a Windows 7 Web Server on a Media PC (see here) as my home server and from work, I connected to it using Remote Desktop. I ran Windows Update and part way through the 19 updates, the Remote Desktop connection froze. I figured the updates needed a reboot and but the server never came back up. I’d have to wait till I got home to figure out what happened.Updates1

When I got home, the server was pretty much how I left it from work. It had completed the updates and was just ready to reboot. The problem was that I could not connect to the server remotely. Outgoing connections were working fine (web pages, etc.). It turned out that the Firewall was blocking everything. I disabled the firewall and was then able to connect to the server (web pages, Remote Desktop, SQL Server).

I went into the Windows Firewall advanced settings and all inbound and outbound rules were missing!

First I ran MalwareBytes Anti-Malware and it showed no viruses or threats. Next I went to restore back to before the updates but my System Restore was not turned on! I do run Windows Backup and the last backup of the system image was a few days earlier. I could get my firewall rules from the SYSTEM registry on that backup.

FirewallRegThe backup creates a VHD virtual drive for the system and the program files. I mounted the system VHD as a drive and located the registry (\windows\system32\config\SYSTEM). I ran regedit and attached the SYSTEM registry file hive to get to the registry settings for the firewall. I located the firewall settings at this location HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\SharedAccess. I attached the backup hive to HKEY_LOCAL_MACHINE\SYSTEMBackup (focus on HKEY_LOCAL_MACHINE then File->Load Hive). I drilled down to SharedAccess on the SYSTEMBackup (see image).

Comparing this structure on SYSTEMBackup to SYSTEM, I noticed that on SYSTEM the entire Defaults key was missing and the Parameters\FirewallPolicy\FirewallRules key was there but there were no rules within it. The Default is probably not required but is the firewall reset info if needed.

I exported the SYSTEMBackup keys to a .reg file. I edited the file to change the location of the keys from SYSTEMBackup to SYSTEM. I then saved the file back (save as ANSI, not unicode). I then right-clicked the file and selected Merge to restore my firewall rules. NOTE: This is potentially very dangerous since you are modifying the registry!

Going back into the Windows Firewall advanced settings showed my inbound and outbound rules in place.

The rules seem to need a bit more tweaking since my HTTP ports are still blocked.

A good place to test out your firewall is at – navigate to the Shields Up page to verify your ports are blocked as expected. Note that your router may be doing most of the port blocking for you.

posted @ Tuesday, January 15, 2013 8:50 PM | Feedback (3) |

Thursday, January 10, 2013

How I Ported a Windows Phone 7 App to WP8

I completed the porting of my Tivo Net Remote app last week from WP7 to WP8 using some ideas from the Nokia Porting Guide. It was published yesterday.

I opened the source code solution using the new SDK and verified it compiled. There were minor changes I wanted to get in. One was to remove the Performance Progress Bar from the toolkit and use the native Progress Bar which was fixed to be like the toolkit version.

I then created a new project in the solution for the WP8 version. I used the copy-as-link on all the source files, though I did compare the differences in the App.xaml to manually migrate some of the lines of code in the .cs. There were a few files, I think tile images, that did not work with the link technique so I copied the files to the new project. The problem seemed to be in the packaging of the xap – the files just were not copied when they were links or something.

The App communicates with the TiVo using sockets and the WP8 has a really nice StreamSocket class I was able to use cutting down the comm code quite a bit for the WP8 version.

To submit the update, both xap files (WP7 and WP8) were uploaded to the Microsoft store. The re-certification process took four or five days.

I uninstalled my test version from my WP8 and searched the store for the new one and found it. The entry showed the Try and Buy buttons though I had purchased the WP7 version long ago. I clicked the Try to install it and it ran in trial mode. This did not make sense that I would have to buy it again.PortArticleImg1

I went to to see my purchase history and saw two entries for TivoNetRemote – one to Purchase/Reinstall and the other to simply Reinstall.

I uninstalled the app from the phone and clicked the web page link to reinstall (both entries have the same link/appid). The reinstall did wind up installing the full version so I did not have to re-purchase it. The appid is unchanged from the original.

PortArticleLogWhen someone runs the app, it sends a message to a web service to log some info (max of once per day) and get the app settings.             

posted @ Thursday, January 10, 2013 4:14 PM | Feedback (1) | Filed Under [ Programming WP7 WP8 ]

Saturday, June 2, 2012

The Big Brothers Big Sisters Little Moments App for the Windows Phone 7

The Big Brothers Big Sisters app for the WP7 was created by a team of developers as part of the local Give Camp project. I programmed the screens and web service calls; Robert Hellestrae did the initial foundation; Dave Norderer did the shaker and spinner coding as well as some of the REST data services. Several others were involved with the BBBS Little Moments web site and administration site and project management. Our Big Brothers Big Sisters contact was Kara Justi from the Palm Beach and Marin Counties agency.


The WP7 version of the Big Brothers Big Sisters Little Moments app was the first to market. The Android version is coming and as far as I know, the iPhone version has no programmers or developers at this time. There is also a website version under development (including an administration section for adding/updating data) and has a REST web service for data (BBBS agencies, activities, etc).

Click on the image to bring up the app details page.BBBS WP7 App

Get involved with Big Brothers Big Sisters and use this app to find activities available within your selected price range, distance, age-group and activity type for your selected local BBBS agency.. Activity providers have made special arrangements with your agency.

You can shake your phone go get the unlocked spinners rolling and see if the result finds an activity you and your "little" would enjoy. A locked spinner can be either selected (meaning selected must match) or unselected (meaning any will match).

Click the search button to see the list ot matches and then click on a match to find out the details of the activity. You can even get directions from your location to the activity.


posted @ Saturday, June 2, 2012 5:04 PM | Feedback (0) | Filed Under [ WP7 ]

Friday, June 1, 2012

How to Upgrade Windows 8 Consumer Preview VHD Boot to Release Preview

I already went through the procedure to create a Virtual Hard Drive (VHD) with Win8 Consumer Preview as described in the article and wanted to replace the VHD contents with the new Release Preview that came out yesterday. If you have the same situation, this will save you several steps.

If you try to upgrade your Consumer Preview, it will tell you that it is not possible since it is on a VHD. Maybe someone will figure out a workaround so your installed programs are not lost. So I figured for now, I'd just blow away the Consumer Preview and use the same VHD to hold the Release Preview.

The steps you save are creating the VHD and adding it to the boot menu. What you want to do are these steps:

  1. Download the ISO for the RP (from here)
  2. Mount the ISO as a drive (I used this)
  3. Attach the old VHD as a drive letter (Computer Mgt->Disk Mgt->Action->Attach VHD)
  4. Format the VHD drive to blow away the old Win8 CP
  5. Start PowerShell in Administrator mode to run the Install-WindowsImage.ps1 script (from here)
  6. Run Install-WindowsImage as shown below
  7. Assuming your boot menu Win8 entry is still in place, reboot into your new Win8 RP.

To run Install-WindowsImage enter this at the PowerShell prompt. This assumes you have CD'd into the folder with the script:

PS> .\Install-WindowsImage.ps1 –WIM J:\Sources\Install.wim –Apply –Index 1 –Destination I:\

Also, it assumes J: is the mounted ISO and I: is the attached VHD. The script will make the VHD bootable and copy the necessary folders and files from the ISO to the VHD. If you need to add a new boot menu item type bcdboot.exe I:\Windows where I: is your VHD. 

PowerShell running Install-WindowsImage

The Install-WindowsImage took about 4 minutes where the ISO and VHD where on an SSD and 32 minutes when both were on the same hard drive partition.

To reuse the same boot menu, the VHD file name and location need to be the same (use command line bcdedit with no parameters to display the boot menu details).
At this point, the VHD has an installed version of Windows 8 Release Preview that can be booted. The initial boot will go through some configuration and setup and you're done. The product key is: DNJXJ-7XBW8-2378T-X22TX-BKG7J or TK8TP-9JN6P-7X7WW-RFFTV-B7QPF .

The article above has all the details, screenshots and more if you need additional information about this procedure.

Once running, you can install Windows Media Center using the info at this blog.

posted @ Friday, June 1, 2012 1:28 PM | Feedback (1) |

Friday, May 4, 2012

How to recover space from your Android-imaged SDCard

When using a (Micro)SDCard created in Windows for an Android boot, partitions are written to it in a Linux format that Windows does not completely understand.

I did this when rooting my NookColor with CyanogenMod 7. My 8GB card was imaged using the Win32DiskImager tool that takes an IMG file and writes it to the card, laying down various partitions, including one standard Windows partition of about 130MB. This basically hides the remainder of the card from Windows but boots up my NookColor into Andriod just fine.

Well, eventually, you need to recover the card to use in Windows again. You can't use the Windows format command since that will only empty out the small partition. Normally, partitions can be deleted using the Computer Management program (under Disk Management). You select the SDCard volume and right click the partition and delete it.This did not completely work - some partitions did not have the delete option.

To actually delete the partitions, drop down to the command line (run as administrator, just in case). Run diskpart.When the prompt displays, run these commands.

DISKPART> list disk      [lists all the disks on the system]

DISKPART> select disk n      [carefully select the disk that is the SDCard for the following command]

DISKPART> list partition      [lists all the partitions of the selected disk]

DISKPART> list disk      [lists all the disks on the system]

DISKPART> select partition n      [select a partition to delete]

DISKPART> delete partition      [delete the selected partition]

[At this point repeat the list, select and delete commands for each partition

DISKPART> exit      [exits diskpart] 

At this point, I used Disk Manager to create a new partition, assign a drive letter and format the partition to FAT32. This can also be done with DISKPART create partition and assign commands.

Diskpart commands


posted @ Friday, May 4, 2012 10:18 AM | Feedback (3) |

Monday, April 16, 2012

The Miami's Metrorail App for the Windows Phone 7

My third WP7 app is now available in the Marketplace. Like the Tri-Rail app I released a few weeks ago, this is a useful app for riders of the Miami-Dade County Commuter Rail system known as Miami's Metrorail.

Miami's Metrorail App Home ScreenThe app will let you locate the nearest stations using the WP7's GeoLocation system to determine your current location. It will show the nearest station North of you and the nearest station to the South including the distance to the stations in miles.Miami's Metrorail App in the Marketplace

The list of all stations can be displayed and select one to see the details of that station such as the address and the times the trains will arrive during the day. There is a button to click to display directions to the station using Bing to help navigate you there.

The next arriving Northbound and Southbound trains are displayed with the number of minutes until they arrive.

Select one of the stops at the station to see information about that train and all its other station stops with arrival times.

There home screen has a button to display the Metrorail's mobile website which is really nice and adds a lot of useful information. The station information page displays connection informtion to local Metrobuses and the Metromover.

Finally, there is an info screen that displays some information, web page links and the About screen.

For more information, click the image to get to the marketplace and the app’s home page.

posted @ Wednesday, February 22, 2012 12:00 AM | Feedback (0) | Filed Under [ WP7 ]

The Tri-Rail App for the Windows Phone 7

Well, I have written my second WP7 app. This is a useful app for riders of the S. Florida Commuter Rail system known as Tri-Rail (see

Tri-Rail App Station ScreenThe app will let you locate the nearest stations using the WP7's GeoLocation system to determine your current location. It will show the nearest station North of you and the nearest station to the South including the distance to the stations in miles.

The list of all stations can be displayed and select one to see the details of that station such as the address and the times the trains will arrive during the day. There is a button to click to display directions to the station using Bing to help navigate you there.

The next arriving Northbound and Southbound trains are displayed with the number of minutes until they arrive.

Select one of the stops at the station to see information about that train and all its other station stops with arrival times.

There is a fare calculator that will determine the fare for the train ride. Fares are based on the distance traveled (by zones), whether it is a weekday or weekend rate and the type of travel (one-way, round trip or one of several other types).

Finally, there is an info screen that displays some information, web page links and the About screen.

For more information, click the image to get to the marketplace and the app’s home page.

posted @ Wednesday, February 8, 2012 12:00 AM | Feedback (0) | Filed Under [ WP7 ]

Powered by:
Powered By Subtext Powered By ASP.NET