Thursday, February 27, 2020

You Get Kicked Out of Encompass When Printing Forms

Encompass Quits Suddenly When Printing Forms the Second Time

Suddenly and without warning the app just quits right after printing a custom form. It usually happens when you print for the second time.  The first time you print the form and show it to your Encompass expert it works fine. Then you try it again after she leaves, then it happens.  The Fix is to edit the windows registry and delete the App Compatibility flags

Fix for Printing when it just quits suddenly

1.  open regedit.exe
2.  open key
Computer\HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers
delete the key within this branch.

3. and then open key
Computer\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers
delete any encompass.exe related keys within this branch.

Delete This Key and Others Similar to It

Wednesday, February 26, 2020

Intuit Lacerte 19 Fatal Application Error and Exit [ Fixed with Database Rebuild ]

How to Fix Intuit Lacerte Fatal Application Error and Exit by Rebuilding the Database


Recently, Intuit Lacerte 2019 have shown a propensity to suddenly exiting immediately after startup or when switching between modules.  Often the module's database is suspect and switching to it will immediately crash the application with a pop-up dialog that says "EXITING APPLICATION" See the image below.  It is caused by a bug in the application that is triggered by using the e-file utility.  E-File causes database corruption.  There is no need to re-install the application as instructed on the Intuit Pro-Connect community.  The instructions apply to Lacerte 2019, to use with Lacerte 2018, just change all 19 to 18.

It happens to lacerte 2018

and it happens to 2019

How to Fix with CLPACK

Before doing anything at all to your Lacerte module's database files, you must make a backup of the database.  Use WinRar or Winzip to make an archive of the whole directory.   Furthermore, you need to tell all users to exit from Lacerte.  You will need to use CLPACK rebuild the suspect module's database files. Each module has a database of files. On your server, you will have a folder DRIVE:\Lacerte\19tax\XData where the X is I for individual, P for partnership, C for corporate.  For example you may have:  V:\Lacerte\19tax\IData for your indivivual module's files. Use the Lacerte Database Repair Utility, on a client computer, which is located in c:\Lacerte\19Tax\ and is called 19clpack.exe

Step 1: Find CLPACK in c:\Lacerte\19Tax\  called 19clpack.exe,

Step 2: Run it, by double-click, then fill in the datapath

Step 3: In CLPack, select a tax type that is suspect, then fill in the correct datapath to the database
Step 4: Choose "Reindex/Repair" + Start, then wait until completion. then "Reindex Calendar"

Step 5: Verify that "no Errors detected" appears in the messages

Optional Step 6:  Reset the Client Grid
this will fix issues with switching betwen modules

Edit the Lacerte 2019 short cut from your local desktop, (right click, then properties)
C:\Lacerte\19tax\w19tax.exe CLGRID
Save it, then double-click on the icon
finally delete all URN files from share drive server folder and
local c:\lacerte folder

Tuesday, February 4, 2020

Ellie Mae Encompass: Error encountered while downloading manifests [how to fix]

Encompass Starts Up and Shows a Dialog box with "Error Encountered While Downloading Manifests

Encompass Startup Error

This error indicates that the application has not downloaded the correct manifests for your Encompass client ID. It usually means that the client ID is incorrect or has a E following the number. Usually the client ID starts with BE and follows by some numbers. For example:  BE12345678 there are usually 8 digits following the BE, If you are not sure, check with your encompass administrator. Don't try to guess it, or you will end up with an even bigger mess.

How to Fix

Use the remove-uac application to cleanup and scrub the offending manifests and other artifacts. You can find remove uac in c:\SmartClientCache\Apps\Ellie Mae\Encompass

Remove-uac dialog box
After you run this and cleanup all of the files in this folder. You will see most of the files diasspear. Now you should run the app luancher from:  "C:\SmartClientCache\Apps\Ellie Mae\Encompass\AppLauncher.exe"

Enter the correct client ID, and then run it to download all of the correct manifests.

Hire An Encompass Pro Today

Are you still googling around for solutions to your Ellie Mae Encompass problems?  Are you ready for URLA?  How is your compliance management? How is your underwriting and loan processing operations keeping up with Encompass? Do you still run Encompass on Windows 7 and need to upgrade before January? Consider hiring Encompass experts and leave all your software worries to them.  Check out our services that we offer in Southern California and beyond.  Our hourly rates are quite low by industry standards.  In the range of $95 to $125/hour depending upon complexity. Eleven Dimensions Technologies offers onsite support and remote support for Ellie Mae's flagship product.  Call our small business services department at (949)371-5079

Saturday, January 18, 2020

CSS Grid Layout in Stupid Internet Explorer 11 using -ms styles

How To Get Your Web Pages to Display CSS Grids in IE and Chrome

All of us web developers know that IE 10 and 11 cannot display grid layouts like FireFox and Chrome.  In fact we know that Microsoft is lagging behind on their support of standards in their IE browser. Thanks Steve and Bill!   However some of us are discovering that Edge can display them kind of correctly now.  Unfortunately, Edge is as stupid as IE.   If you developed fantastic looking grid layout pages for Chrome and do not want to revert back to old fashioned table layouts, I have the ultimate solution for you. It's called vendor extensions.
First thing to do is to drop some of your CSS into the autoprefixer to allow it to add new MS vendor extensions. Then you add your new CSS into your sheets.
If you had this CSS and it worked in Chrome, you will then add -ms-grid and -ms-grid-columns. Plus you will also add .ms-grid-row and -ms-grid-column to each row/column cell.

.grid-container {
  display: grid;
  grid-template-columns: auto auto auto;
  background-color: #2196F3;
  padding: 10px;

Then you will get this out of the autoprefixer. just add the -ms elements to your CSS.

.grid-container {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: auto auto auto;
  grid-template-columns: auto auto auto;
  background-color: #2196F3;
  padding: 10px;

Then you need to add these CSS elements to tell stupid IE where to put each cell, or it will overlay everything in the first row/column. duh.

.rc11 { -ms-grid-row: 1; -ms-grid-column: 1; }
.rc12 { -ms-grid-row: 1; -ms-grid-column: 2; }
.rc13 { -ms-grid-row: 1; -ms-grid-column: 3; }
.rc21 { -ms-grid-row: 2; -ms-grid-column: 1; }
.rc22 { -ms-grid-row: 2; -ms-grid-column: 2; }
.rc23 { -ms-grid-row: 2; -ms-grid-column: 3; }
.rc31 { -ms-grid-row: 3; -ms-grid-column: 1; }
.rc32 { -ms-grid-row: 3; -ms-grid-column: 2; }
.rc33 { -ms-grid-row: 3; -ms-grid-column: 3; }
.rc41 { -ms-grid-row: 4; -ms-grid-column: 1; }
.rc42 { -ms-grid-row: 4; -ms-grid-column: 2; }
.rc43 { -ms-grid-row: 4; -ms-grid-column: 3; }
.rc51 { -ms-grid-row: 5; -ms-grid-column: 1; }
.rc52 { -ms-grid-row: 5; -ms-grid-column: 2; }
.rc53 { -ms-grid-row: 5; -ms-grid-column: 3; }

This is how these .rcNN will be used in each grid cell. This is a snippet of HTML from a form.

      <form action="registration.php" method="post" id="subForm" style="margin: 10px 0 8px;">
          <div class="grid-container">
             <div class="grid-item rc11">
             <span>First Name</span>
             <input class="f_left" type="text" name="firstname" id="firstname" value="First Name" onkeyup="clean('firstname')" onkeydown="clean('firstname')" maxlength="40"
               onfocus="javascript:if(this.value=='First Name') {this.value='';}" onblur="javascript:if(this.value=='') {this.value='First Name'}" />

             <div class="grid-item rc12">
             <span>Last Name</span>
             <input class="f_left" type="text" name="lastname" id="lastname" value="Last Name" onkeyup="clean('lastname')" onkeydown="clean('lastname')" maxlength="40"
               onfocus="javascript:if(this.value=='Last Name') {this.value='';}" onblur="javascript:if(this.value=='') {this.value='Last Name'}" />

             <div class="grid-item rc13">
             <span>Email Address</span>
             <input class="f_left" type="text" name="email" id="email" value="Email Address" onkeyup="clean('email')" onkeydown="clean('email')" maxlength="40"
               onfocus="javascript:if(this.value=='Email Address') {this.value='';}" onblur="javascript:if(this.value=='') {this.value='Email Address'}" />

             <div class="grid-item rc21">
             <input class="f_left" type="password" name="password" id="password" value="Password" onkeyup="clean('password')" onkeydown="clean('password')" maxlength="40"
               onfocus="javascript:if(this.value=='Password') {this.value='';}" onblur="javascript:if(this.value=='') {this.value='Password'}" />

             <div class="grid-item rc22">
             <span>Phone Number</span>
             <input class="f_left" type="text" name="phone" id="phone" value="Phone Number" onkeyup="clean('phone')" onkeydown="clean('phone')" maxlength="40"
               onfocus="javascript:if(this.value=='Phone Number') {this.value='';}" onblur="javascript:if(this.value=='') {this.value='Phone Number'}" />

             <div class="grid-item rc23">
             <span>Company Name</span>
             <input class="f_left" type="text" name="company" id="company" value="Company Name" onkeyup="clean('company')" onkeydown="clean('company')" maxlength="40"
               onfocus="javascript:if(this.value=='Company Name') {this.value='';}" onblur="javascript:if(this.value=='') {this.value='Company Name'}" />

This is how it looks in IE now. (this is the form)

Sunday, January 12, 2020

Use Postfix to Relay Mail Thru Godaddy SMTP Servers

How to Install and Configure Postfix to Relay Thru Godaddy SMTP

postfix logo
postfix logo
If you have an Asterisk server on Amazon ECS, you need a means to send voicemails out to email. Use postfix with a godaddy smtp server and your godaddy email credentials.

First you need to install ubuntu on an amazon ecs virtual machine. Start by setting up their free tier ubuntu 18 LTS server.  Then you need to use apt-get to install postfix and mailutils.

To install the required items:

apt install postfix
apt install mailutils
apt install cyrus-sasl-plain

Finally install some configuration files. First file to work on is /etc/postfix/
suppose your server is called and your domain is called   Do not change the default hostname that amazon ecs gives you.  While installing postfix, the initial dialog will ask you what kind of site to setup. Choose "internet site" you will only be using this service to send and relay outbound email.

# See /usr/share/postfix/ for a commented, more complete version

smtpd_banner = $myhostname ESMTP $mail_name (Ubuntu)
biff = no
readme_directory = no
compatibility_level = 2

# TLS parameters
smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache

smtpd_relay_restrictions = permit_mynetworks permit_sasl_authenticated defer_unauth_destination
masquerade_domains =
myhostname =
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
myorigin = $mydomain
mydomain =
mydestination =, $myhostname, ip-172-16-17-0.ec2.internal, localhost.ec2.internal, localhost
relayhost =
mynetworks = [::ffff:]/104 [::1]/128
mailbox_size_limit = 0
recipient_delimiter = +
inet_interfaces = loopback-only
inet_protocols = all

# use godaddy smtp as a relay
smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
smtp_sasl_security_options = noanonymous
smtp_tls_wrappermode = yes
smtp_tls_security_level = encrypt
smtp_tls_mandatory_protocols = TLSv1
smtp_tls_mandatory_ciphers = high
smtp_tls_secure_cert_match = nexthop
smtp_tls_CAfile = /etc/pki/tls/certs/ca-bundle.crt
relayhost =

## THIS ITEM: append_dot_domain will take the domain from /etc/mailname and set your from name
append_dot_mydomain = no
# --> Setting it to yes appends the domain to the hostname

# get CA bundles

Next You need to enter your Godaddy SMTP credentials in the file called sasl_password

Next you need to hash the file up with this command
postmap hash:/etc/postfix/sasl_passwd

Next we need to test it out with sendmail. send a message to

root@ip-172-16-17-0:/etc/postfix# /usr/sbin/sendmail -F "MIKE Martin" -f
subject: This is a test of Postfix again
Hello There This is how we test postfix using the sendmail command == bye


Some Useful Tidbits of Information

reload and force a re-read of config files:  postfix reload
restart the service:  /etc/init.d/postfix reload
see the log files: more /var/log/mail.log

Known Postfix bugs

root@ip-172-16-17-0:/etc/postfix# postconf -d myhostname
myhostname = ip-172-16-17-0.localdomain
even if you set myhostname in to something else, you still get this.

If you install ssmtp, it will delete the sendmail command and softlink it to ssmtp instead.

Saturday, January 4, 2020

Windows Internal Database Service: Will Not Start and Fails with Error Code 1297

Windows Internal Database Fails to Start or Fails to Install from Server Manager

Greetings, y'all.  Recently, I started building a WSUS server on Windows Server 2012 R2. While trying to install Windows Internal Database from the Server Manager, it fails to install, yet leaves the services.msc control panel with a non-starting service called "Windows Internal Database." It refuses to start, that's why the installer refuses to finish.  I was using "Add Roles and Features" to add this service.  Curiously enough, after a reboot, the service will be removed. But, If you try to start the service before the reboot, you will see this message dialog.
Service Fails to Start

How to Fix It

In your group policy for your AD domain, make sure that "NT SERVICE\ALL SERVICES" and "everyone" is granted rights for.  Adding "Everyone" is foolish and dangerous thing to do.  Just to be safe, add a separate group policy object just for this server, so that these changes don't contaminate other servers.
  • Bypass Traverse Checking
  • Generate Security Audits
  • Logon As A Service
You can find these in:
Computer Configuration -> Policies -> Windows Settings -> Security Settings -> Local Policies -> User Rights Assignment

Group Policy Object
Group Policy Object in rsop

How Do We Know This

By looking at the definition of this service in the registry, you can see this "SeChangeNotifyPriviledge" which means Bypass Traverse Checking.