M BUZZ CRAZE NEWS
// news

BGinfo not updating desktop

By Emma Martinez

I have attempted every method of automating bginfo to run at logon unsuccessfully on my Windows 2012 R2 server. I though it was a scripting issue until I manually specified the path to write the image file. Basically, here is what happens:

1) Log on as x user.
2) Scheduled task kicks off bginfo script.
3) New desktop image file gets written to specified directory.
4) Actual desktop does not update to new image.

I have tried this with scheduled tasks, group policy startup scripts, and even a shortcut in the startup folder. Each time when the script/shortcut is launched the desktop updates. It seems to be when I am attempting to automate the process that it fails. Help!

1

3 Answers

The immediate answer to your question is that you need to set the Windows background to the image that BGinfo creates. On my Windows 2003 system, I do this with:

  1. Log in as target user
  2. Right-click on desktop background
  3. Click "Properties" in the popup,
  4. Click the "Desktop" tab in the resulting "Display Properties" dialog
  5. Select the "BGInfo" entry in the "Background:" list; if there is none, click "Browse" and find the file indicated in the BGInfo program's "Bitmap>Location" dialog.
  6. Click "OK" to dismiss the "Display Properties" dialog

The BGinfo-generated desktop image will then show on the desktop. The info in the image will be current as of the last time that BGinfo was run.

However, since you mentioned triggering BGinfo from a scheduled task, I am thinking that you want to have that info updated periodically and have the most-current info shown on the desktop background. My implementation is to define a shortcut in the "Programs>Startup" folder with the parameters,

Target: "C:\Program Files (x86)\Sysinternals Software\Bginfo.exe" local.bgi /timer:0
Start in: "C:\Program Files (x86)\Sysinternals Software"

This updates the info every time I log in, which for a long-running server, is more frequently than it is rebooted, but may not be often enough to keep up with rapidly consumed disk space. You could create a scheduled task to be run daily or more frequently if you want to have the info updated while the user is logged in. If your BGInfo definition includes any user-specific info, then a separate task will need to be defined for each user. The task should call a batch file similar to the following:

REM BGInfoBatch.cmd: run BGInfo to update wallpaper image, and force update.
"C:\Program Files (x86)\Sysinternals Software\Bginfo.exe" "C:\Program Files (x86)\Sysinternals Software\local.bgi" /timer:0
RUNDLL32.EXE user32.dll,UpdatePerUserSystemParameters

You may have to adjust that batch file according to this question.If you want to have a value in the displayed info that tells you how current that info is, you can create a custom field with name "Updated", of type "file time stamp", and the path of the output bginfo.bmp file.

I also had problems with auto updating of the backgroud picture under Win2012R2. Running bginfo with double click worked fine but not with adding a shortcut to the autostart folder or using an autostart entry in the registry.
Solution was giving all users modify permission on C:\windows\bginfo.bmp .

1) UAC OFF

2) Enable in properties bginfo.exe "Run with admin rights for all user"

3) Make your bat file with analog parametrs:

C:\1\Bginfo.exe C:\1\1.bgi /TIMER:0 /SILENT /NOLICPROMPT

4) Copy bat file on to Windows startup directory (NOT USER)

C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Startup

5) Change file permission for bg.bmp file in

%TEMP%

....

6) PROFIT!1!!!1

1

Your Answer

Sign up or log in

Sign up using Google Sign up using Facebook Sign up using Email and Password

Post as a guest

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy