Jump to content

Recommended Posts

Posted

Hi All,

 

I've been looking into updating our version of SketchUp from V8 to 2016 & so far so good. The only problem I've run up against so far is disabling the Welcome Splash screen. In v8 we used a registry fragment to disable this:

[HKEY_CURRENT_USER\Software\Google\SketchUp8\WelcomeDialog]
"ShowOnStartup"=dword:00000000

Adapting this & applying it to the new version does not hide the dialog & I'm not finding anything particularly helpful with a bit of Google-Fu. A couple of solutions that involve using 3rd party software but I'd like to avoid these if possible.

 

Any hints or tips greatly appreciated!:)

 

Cheers,

AJ

Posted (edited)

Does this not work for you?

 

Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\Software\SketchUp\SketchUp 2016\WelcomeDialog]
"ShowOnStartup"=dword:00000000

 

I also set the following registry values in addition to disabling the welcome box.

 

[HKEY_CURRENT_USER\SOFTWARE\SketchUp\SketchUp 2016\Common]
"AcceptedEULA"=dword:00000001

[HKEY_CURRENT_USER\SOFTWARE\SketchUp\SketchUp 2016\Preferences]
"CheckForUpdates"=dword:00000000

[HKEY_CURRENT_USER\SOFTWARE\SketchUp\SketchUp 2016\Preferences]
"DefaultTemplate16"="C:\\Program Files\\SketchUp\\SketchUp 2016\\Resources\\en-US\\Templates\\Temp06b - Woodworking.skp"

Edited by Arthur
  • Thanks 1
Posted

Hi Arthur,

 

Thanks for the reply. Unfortunately this does not disable the Welcome screen for me. Have you got this working on the 2016 version?

Posted (edited)
Have you got this working on the 2016 version?

It works fine for me. :confused:

 

Are you using SketchUp Make or Pro? Are you deploying the HKCU settings via GPP?

Edited by Arthur
Posted
How strange. We're using Make. In the long run yes HKCU settings will be deployed by GPP but while testing (on a single machine) I'm manually adding these
Posted
We're using Make.

I did a bit more investigation and noticed that you can only hide the welcome dialog box in the Pro version of SketchUp. :(

 

9hy4gB.jpg

 

ppdr2n.jpg

 

As you can see from the images above, the "Always show on startup" checkbox is missing from the SketchUp Make dialog.

  • Thanks 1
Posted
I had a feeling this may be the case, just by them having removed the tickbox. Thanks for your help with this though. Much appreciated! I might have a play around with the MSI & see if I can get any results this way
  • 7 months later...
Posted (edited)

I tried many things to disable the welcome screen for Sketchup 2017 version 17.1.174 64-bit, including several registry edits like the ones mentioned in this thread and editing ATL control resources within the Sketchup binaries. Nothing helped.

 

In the end, I resorted to reverse engineering and editing some binary code within the executable. This worked and can be replicated in the following way:

  1. Open c:\program files\sketchup\sketchup 2017\sketchup.exe in a hex editor
  2. Search for the following series of hex values: FF 90 F8 02 00 00 48 8B 83
  3. Replace them with these hex values: 90 90 90 90 90 90 48 8B 83
  4. Save and run the edited file, and the dialog box should no longer show

Edited by beat
  • Thanks 1
  • 5 months later...
  • 1 year later...
Posted
I try that one and some others to search for FF 90 F8 02 00 00 48 8B 83 found nothing??

Those hex values are definitely there in SketchUp Make 2017 (v17.2.2555). Are you editing SketchUp.exe in "%ProgramFiles%\SketchUp\SketchUp 2017"?

 

Qbdzyw.png

 

CnxHh5.png

Posted

I found it thank you and it works

Mine was in c:\program files\sketchup\sketchup 2017\sketchup.exe not in c:\user\*.*

was not using Caps also not using hex-valuse (text string)

Thank You Again :rolleyes:

Posted
Mine was in c:\program files\sketchup\sketchup 2017\sketchup.exe not in c:\user\*.*

Just to clarify, my SketchUp.exe was only copied to the desktop so that I didn't have to run HxD elevated. I don't normally install programs there. :)

 

After hex editing SketchUp.exe, I copied it from the desktop back into "%ProgramFiles%\SketchUp\SketchUp 2017".

 

Glad you got it working.

Posted
Is "%ProgramFiles%\SketchUp\SketchUp 2017" the same as c:\program files\sketchup\sketchup 2017\sketchup.exe ?

%ProgramFiles% is an environment variable that for most people will point to "C:\Program Files" on both 32-bit and 64-bit versions of Windows. There's another environment variable: %ProgramFiles(x86)%. This points to the "C:\Program Files (x86)" folder, which is where 32-bit programs get installed on 64-bit versions of Windows.

 

There are a couple of reasons I used the variables. The first is because the "Program Files" folder is localized. On non-English versions of Windows, the folder won't actually be called "Program Files"...

 

www.samlogic.net/articles/program-files-folder-different-languages.htm

 

The Program Files folder in a Windows system is used as a storage place for programs, and some other binary files. The name of this folder is not the same in all countries / languages. Instead are often localized names used, that matches the language of the Windows that is run. For example in a Spanish Windows the name of the Program Files folder is Archivos de programa. And in a German Windows the name of the folder is Programme.

 

8uPfAg.png

 

The second reason is because someone might have installed Windows on a drive that isn't C:\. This is extremely rare however, because it often breaks third-party software that assumes Windows is always installed on C:\. :)

Posted

For anyone who finds this thread in the future, I made a PowerShell script to automatically patch SketchUp.exe with the hex values mentioned in @beat's post above. Much easier now! :)

 

#Requires -RunAsAdministrator

$exe = "${env:ProgramFiles}\SketchUp\SketchUp 2017\SketchUp.exe"

If (Test-Path -Path "$exe" -PathType Leaf) {

   If ((Get-AuthenticodeSignature -FilePath "$exe").Status -eq 'Valid') {

       # Ensure SketchUp isn't running
       Get-Process | Where-Object { $_.Name -match "SketchUp" } | Stop-Process

       # Backup original executable
       Copy-Item "$exe" "$exe.bak" -Force

       # Patch file (replaces 'FF 90 F8 02 00 00' with '90 90 90 90 90 90' at offset 1680A8)
       $Bytes = [iO.File]::ReadAllBytes("$exe")
       $Offset = 0x001680A8
       $Length = 0x5

       $Offset..($Offset + $Length) | ForEach-Object { $Bytes[$_] = 0x90 }

       Try {
           [iO.File]::WriteAllBytes("$exe", $Bytes)
           Write-Output "SketchUp.exe successfully patched"
       }
       Catch {
           Write-Warning $_.Exception.InnerException.Message
       }

   }
   Else {
       Write-Output "SketchUp.exe has already been patched"
   }

}

Posted
Do you copy and paste each line then hit enter?? start powershell in the adminstrator mode?

Copy-and-paste the entire script into a text editor (Notepad, Notepad++, VS Code etc.), save with an appropriate name like DisableSketchUpWelcome.ps1 (make sure the extension is .ps1 not .ps1.txt) then run from an elevated PowerShell prompt as Administrator.

 

You could also open the .ps1 script in the PowerShell ISE (run as Administrator first) and press F5 to run the script.

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now



×
×
  • Create New...