BGinfo not updating desktop

4

1

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!

Garrett Dumas

Posted 2014-01-23T19:57:52.473

Reputation: 360

Have you verified if it is working on other versions of Windows? – jmreicha – 2014-01-23T21:54:45.703

Answers

2

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.

Codex24

Posted 2014-01-23T19:57:52.473

Reputation: 265

0

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 .

zone1020

Posted 2014-01-23T19:57:52.473

Reputation: 1