Tuesday, January 16, 2024

Quickbooks - How to Regenerate a Damaged "entitlementdatastore.ecml" File

 

Intro:

If you need to wipe a QuickBooks installation of its registration data this article will help. You may also run into this issue if a Windows restore was done.


Fix:

1. Close QuickBooks and the Tool Hub if they are open.

2. Open the entitlement folder based on your QuickBooks version found in the chart below:

  • QuickBooks 2007 - C:\ProgramData\Intuit\Entitlement Client\v3

  • QuickBooks 2008 - C:\ProgramData\Intuit\Entitlement Client\v5
  • QuickBooks 2009 - C:\ProgramData\Intuit\Entitlement Client\v5

  • QuickBooks 2010 - C:\ProgramData\Intuit\Entitlement Client\v6.0
  • QuickBooks 2011 - C:\ProgramData\Intuit\Entitlement Client\v6.0
  • QuickBooks 2012 - C:\ProgramData\Intuit\Entitlement Client\v6.0

  • QuickBooks 2013 - C:\ProgramData\Intuit\Entitlement Client\v8
  • QuickBooks 2014 - C:\ProgramData\Intuit\Entitlement Client\v8
  • QuickBooks 2015 - C:\ProgramData\Intuit\Entitlement Client\v8
  • QuickBooks 2016 - C:\ProgramData\Intuit\Entitlement Client\v8
  • QuickBooks 2017 - C:\ProgramData\Intuit\Entitlement Client\v8
  • QuickBooks 2018 - C:\ProgramData\Intuit\Entitlement Client\v8
  • QuickBooks 2019 - C:\ProgramData\Intuit\Entitlement Client\v8
  • QuickBooks 2020 - C:\ProgramData\Intuit\Entitlement Client\v8
  • QuickBooks 2021 - C:\ProgramData\Intuit\Entitlement Client\v8
  • QuickBooks 2022 - C:\ProgramData\Intuit\Entitlement Client\v8
  • QuickBooks 2023 - C:\ProgramData\Intuit\Entitlement Client\v8
  • QuickBooks 2024 - C:\ProgramData\Intuit\Entitlement Client\v8

3. Delete or rename "EntitlementDataStore.ecml" to "EntitlementDataStore.ecml.old".

4. Open QuickBooks and load your company file.

5. File the instructions to register the application.



Conclusion:

You can either choose to rename or delete the entitlement file. It's encrypted either way so there's really no sense in hanging on to a bad copy of it if there's an issue. It's not like you can edit it directly.



πŸ‘½

Tuesday, January 9, 2024

QuickBooks 2024 - Fix Missing PDF Component

 


Intro:

This error seems to be one of many that Intuit doesn't care to fix. This applies to Windows 11 Pro and QuickBooks 2024 but I'm sure the issue exists with earlier versions loaded on Windows 11.

This could have been triggered during the initial QuickBooks install but isn't. Upon launching, QuickBooks complains that it doesn't have a PDF writer installed. This component is built into Windows so all we have to do it enable it and we're good to go.




Fix:

1. Right click on "Start" --> Run --> type "control" or "optionalfeatures" to be taken direct to step 4.

2. Select "Programs and Features".

3. Left hand side, click on "Turn Windows features on or off".



4. Enable "Microsoft Print to PDF" and "Microsoft XPS Document Writer" and hit "OK". Wait for the installer to complete and hit "Close".



5. Try launching QuickBooks again. The error should be gone.



Conclusion:

Pretty sure only Microsoft XPS document writer needs to be turned on to remove the error, however turning on "Print to PDF" isn't going to harm anything.



πŸ‘½

Thursday, January 4, 2024

QuickBooks Desktop 2024 - Fix Elevated Credentials Prompt for Standard Windows Users

 


Intro:

When a standard Windows user attempts to open the QuickBooks application, they are prompted with a QuickBooks generated error that states, "Administrator Permissions Needed" - "This action requires Windows administrator permissions". There's a UAC icon on the continue button. If you press "continue", the following appears:



If you press "No" here, QuickBooks opens, however when you try to open the .QBW (QuickBooks WorkBook) file, it prompts for elevated credentials again and the process repeats.




Problem:

The reason for this is because the "QuickBooks Company File Monitoring Service" is not running. The actual service name is "QBCFMonitorService".

I suspect this has to do with Multi-User Mode because it only occurs on computers that are running this mode of QuickBooks. It's only on the second computer. So the first computer opens QuickBooks and loads the QBW file. The second computer attempts to launch QuickBooks and it fails with the error above.




Fix:

The easy way to ensure this runs on the machine as directed is to create a Task in Windows that calls in a PowerShell script which checks to see if the service is running or not. It will restart the service if it's not running and write the event to a log file. If the service is already running, it will note this event in the log file as well and not attempt to restart the service.

If using an RMM you'll need someway to "Set-ExecutionPolicy" to "bypass" before the script runs or else it will fail. Putting "Sec-ExecutionPolicy" to "bypass" in the script will fail to set this option temporarily ultimately causing the script to fail.


PowerShell Script:

Save the PowerShell script below in the admin's Documents folder as: "C:\Users\Pat\Documents\scripts\QBCFMonitorService\QBCFMonitorService.ps1"

Replace XXXXXX with the account name.

*01.04.24 - Updated script to report time in 12 hour with AM/PM vs 24 hours. Changed "HH:mm:ss" to "hh:mm:ss tt" and added the "tt" to denote AM or PM. The lowercase "hh" denotes 12 hour and the uppercase "HH" denotes 24 hour.

# Set the service name
$serviceName = "QBCFMonitorService"
$logFilePath = "C:\Users\XXXXXX\Documents\Powershell Scripts\QBCFMonitorService\QBCFMonitorService.log"

# Check if the service is stopped
$serviceStatus = Get-Service -Name $serviceName

if ($serviceStatus.Status -eq 'Stopped') {
    # Restart the service
    Restart-Service -Name $serviceName
    $logMessage = "$(Get-Date -Format 'yyyy-MM-dd hh:mm:ss tt') - Service $serviceName restarted."
    Write-Host $logMessage
    Add-Content -Path $logFilePath -Value $logMessage
} else {
    $logMessage = "$(Get-Date -Format 'yyyy-MM-dd hh:mm:ss tt') - Service $serviceName is already running."
    Write-Host $logMessage
    Add-Content -Path $logFilePath -Value $logMessage
}

Task Scheduler:

(Create a new folder in Task Scheduler for stuff like this to differentiate from standard tasks.)


Create a "New Task" in Task Scheduler with the following settings marked in yellow:


General Tab:



Name:
  • Watchdog for QBCFMonitorService

Description:
  • Runs periodically. If QBCFMonitorService is not running it will restart it. This allows the user to open QB without needing elevated Windows credentials.

Triggers:



Action Tab:

Action:
  • Start a program
Program/Script:
  • C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe
Add arguments (optional):
  • -ExecutionPolicy Bypass -File "C:\Users\Pat\Documents\scripts\QBCFMonitorService\QBCFMonitorService.ps1"

Conditions:



Settings:




Test Task:

Stop the service manually then run the task, it should restart the service and add a line to the log file.


Notes:

Seems I'm not the only one with this issue:




πŸ‘½