topbanner_forum
  *

avatar image

Welcome, Guest. Please login or register.
Did you miss your activation email?

Login with username, password and session length
  • Monday October 7, 2024, 8:30 am
  • Proudly celebrating 15+ years online.
  • Donate now to become a lifetime supporting member of the site and get a non-expiring license key for all of our programs.
  • donate

Author Topic: DcUpdater reports incorrect version of installed app  (Read 27729 times)

sba

  • Member
  • Joined in 2007
  • **
  • default avatar
  • Posts: 57
    • View Profile
    • Donate to Member
DcUpdater reports incorrect version of installed app
« on: April 03, 2012, 10:04 AM »
Hi,

I have ScreenShotCaptor 3.03.01 installed (that's what its About box says) still DcUpdater reports I have 2.103.01 installed... and thus wants to upgrade.

What's up, doc?


mouser

  • First Author
  • Administrator
  • Joined in 2005
  • *****
  • Posts: 40,913
    • View Profile
    • Mouser's Software Zone on DonationCoder.com
    • Read more about this member.
    • Donate to Member
Re: DcUpdater reports incorrect version of installed app
« Reply #1 on: April 03, 2012, 10:15 AM »
It has to be getting the 2.103 from somewhere...

The file it uses is called "ScreenshotCaptor.dcupdate" in your screenshot captor program files directory.  See if you can find that file and open it in a text editor and see what it says.

The other thing you can do is in dcupdater, choose menu View -> Show Advanced Controls.  Then drag the bottom of the window up if it's all the way down, select Screenshot Captor in the main window, and see what it says for "DcUpdate File:"

Example:

Screenshot - 4_3_2012 , 10_15_10 AM.png

sba

  • Member
  • Joined in 2007
  • **
  • default avatar
  • Posts: 57
    • View Profile
    • Donate to Member
Re: DcUpdater reports incorrect version of installed app
« Reply #2 on: April 03, 2012, 10:53 AM »
The problem is that there was another file at:

C:\Users\sba\AppData\Local\VirtualStore\Program Files (x86)\ScreenshotCaptor\ScreenshotCaptor.dcupdate

that contained 2.103.01

This file was probably created by either:
- installing ScreenShotCaptor without using "run as administrator"
- running ScreenShotCaptor as a non-admin user just after installation

In either case, the file virtualization mechanism (introduced in Vista) has kicked in and redirected the attempt to write to C:\Program Files (x86)\ScreenshotCaptor (which a non-admin user is not allowed to do).


After I have deleted C:\Users\sba\AppData\Local\VirtualStore\Program Files (x86)\ScreenshotCaptor and relaunched ScreenShotCaptor, DcUpdater reports the correct version, BUT the file C:\Users\sba\AppData\Local\VirtualStore\Program Files (x86)\ScreenshotCaptor\ScreenshotCaptor.dcupdate has been recreated.

Unfortunately I fear that at the next update ScreenShotCaptor might update C:\Users\sba\AppData\Local\VirtualStore\Program Files (x86)\ScreenshotCaptor\ScreenshotCaptor.dcupdate, leaving C:\Program Files (x86)\ScreenshotCaptor\ScreenshotCaptor.dcupdate unchanged, causing another version discrepancy.

Another explanation would be that running ScreenShotCaptor as an admin user will populate C:\Program Files (x86)\ScreenshotCaptor\ScreenshotCaptor.dcupdate, whereas running an update check from within ScreenShotCaptor running as non-admin user will cause DcUpdater to look at C:\Users\sba\AppData\Local\VirtualStore\Program Files (x86)\ScreenshotCaptor\ScreenshotCaptor.dcupdate.

Get the picture?

IMVHO running an app should not populate a per-user file containing version information. Instead, the app's installer should populate a system-wide file containing version information. But I'm just wearing my software developer hat on here ;-)

P.S. Without Process Monitor I would not have been able to troubleshoot this.

mouser

  • First Author
  • Administrator
  • Joined in 2005
  • *****
  • Posts: 40,913
    • View Profile
    • Mouser's Software Zone on DonationCoder.com
    • Read more about this member.
    • Donate to Member
Re: DcUpdater reports incorrect version of installed app
« Reply #3 on: April 03, 2012, 11:05 AM »
Great detective work.

The part that confuses me is how that virtualstore copy of ScreenshotCaptor.dcupdate is being created in the first place..

That file should ALWAYS and ONLY be created during the installation process, which is always run as administrator (and thus has permission to write into the real Program Files (x86)\Screenshot Captor directory..  Running Screenshot Captor should not create this file in any scenario -- and I can't find any code where it does. 

Whether you run Screenshot Captor as admin or not should not result in the creation of a .dcupdate file.  Nothing should be able to create this file other than the installer.  Very odd.

sba

  • Member
  • Joined in 2007
  • **
  • default avatar
  • Posts: 57
    • View Profile
    • Donate to Member
Re: DcUpdater reports incorrect version of installed app
« Reply #4 on: April 03, 2012, 11:14 AM »
The plot thickens.

Here's what I have just done (running as a non-admin user):

- shut down ScreenShotCaptor
- destroy both C:\Users\sba\AppData\Local\VirtualStore\Program Files (x86)\ScreenshotCaptor and
C:\Users\sba\AppData\Local\VirtualStore\Program Files (x86)\DcUpdater directories
- launch ScreenShotCaptor -- nothing happens in the virtualstore
- perform an update check using ScreenShotCaptor's context menu: this launches DcUpdater which recreates both directories with the following contents:


DcUpdater/:
Installables        dcupdater.dcupdate

DcUpdater/Installables:
ClipboardHelpAndSpell.dcupdate  ProcessTamer.dcupdate
FindAndRunRobot.dcupdate        ScreenshotCaptor.dcupdate
FlipbookPrinter.dcupdate        TheFormLetterMachine.dcupdate
LaunchBarCommander.dcupdate     URLSnooper.dcupdate
PointMotivator.dcupdate         UnicodeImageMaker.dcupdate

ScreenshotCaptor/:
ScreenshotCaptor.dcupdate

Could be that DcUpdater attempts to update part of this in the non-virtualized directory (or just opens files in read-write mode even if it just wants to read?), this fails, causing the virtualization to do its magic?

mouser

  • First Author
  • Administrator
  • Joined in 2005
  • *****
  • Posts: 40,913
    • View Profile
    • Mouser's Software Zone on DonationCoder.com
    • Read more about this member.
    • Donate to Member
Re: DcUpdater reports incorrect version of installed app
« Reply #5 on: April 03, 2012, 11:21 AM »
Very interesting and some good theories.. let me go check DcUpdater code and see if it's being naughty as your evidence suggests..

mouser

  • First Author
  • Administrator
  • Joined in 2005
  • *****
  • Posts: 40,913
    • View Profile
    • Mouser's Software Zone on DonationCoder.com
    • Read more about this member.
    • Donate to Member
Re: DcUpdater reports incorrect version of installed app
« Reply #6 on: April 03, 2012, 11:48 AM »
By the way have I mentioned that I believe Microsoft's hidden Virtual Store has to be one of the worst, stupidist decisions anyone has made in the 21st century?

mouser

  • First Author
  • Administrator
  • Joined in 2005
  • *****
  • Posts: 40,913
    • View Profile
    • Mouser's Software Zone on DonationCoder.com
    • Read more about this member.
    • Donate to Member
Re: DcUpdater reports incorrect version of installed app
« Reply #7 on: April 03, 2012, 12:02 PM »
Ok i think I might have located the problem -- and it looks like you were basically right in your theory about dcupdater opening a file in readwrite mode when it shouldn't be!

I should have known where to look in my code because I have a function in my code called (apologies for the curse word):
FixupFuckedLibCurlXmlDownloadedFile()

And obviously I was in a bad mood when I wrote that sucker.. Basically the .dcupdate files could come from local directory or be temp downloaded files.  In the latter case it looks like libcurl is mucking with the files when it shouldn't and was requiring me to do a little kludge to patch them up.

My mistake was opening ALL such files as readwrite in that function, in the off chance that they would have to be modified.

I'm fixing it now so that the files are ONLY opened as readwrite (or indeed checked for bad libcurl issue) if they are downloaded temp files.

New version should be imminent.


mouser

  • First Author
  • Administrator
  • Joined in 2005
  • *****
  • Posts: 40,913
    • View Profile
    • Mouser's Software Zone on DonationCoder.com
    • Read more about this member.
    • Donate to Member
Re: DcUpdater reports incorrect version of installed app
« Reply #8 on: April 03, 2012, 12:07 PM »
You know, we have had the occasional odd report of DcUpdater detecting the wrong version, with inconclusive hunts for the cause.
I believe you have likely caught the beast responsible, sba.  For that I say thanks.  :up:

sba

  • Member
  • Joined in 2007
  • **
  • default avatar
  • Posts: 57
    • View Profile
    • Donate to Member
Re: DcUpdater reports incorrect version of installed app
« Reply #9 on: April 03, 2012, 01:26 PM »
U're welcome.

Indeed I'd experienced this kind of problem for quite some time, but hadn't bitten the bullet 'til today.

I'm assuming a public update to DcUpdater (that it will detect ;-) ) will be online soon.

mouser

  • First Author
  • Administrator
  • Joined in 2005
  • *****
  • Posts: 40,913
    • View Profile
    • Mouser's Software Zone on DonationCoder.com
    • Read more about this member.
    • Donate to Member
Re: DcUpdater reports incorrect version of installed app
« Reply #10 on: April 03, 2012, 01:47 PM »
With sba's help the problem is fixed; I will be uploading a new version of DcUpdater tonight.

db90h

  • Coding Snacks Author
  • Charter Member
  • Joined in 2005
  • ***
  • default avatar
  • Posts: 481
  • Software Engineer
    • View Profile
    • Bitsum - Take control of your PC
    • Read more about this member.
    • Donate to Member
Re: DcUpdater reports incorrect version of installed app
« Reply #11 on: April 03, 2012, 02:28 PM »
That's a nice updater. I never noticed it before, somehow

sba

  • Member
  • Joined in 2007
  • **
  • default avatar
  • Posts: 57
    • View Profile
    • Donate to Member
Re: DcUpdater reports incorrect version of installed app
« Reply #12 on: April 04, 2012, 02:43 AM »
Note that in order to get your system back to normal letting DcUpdater update itself to 1.30.01 is not enough. You must delete the following two directories:

C:\Users\<user>\AppData\Local\VirtualStore\Program Files (x86)\ScreenshotCaptor
C:\Users\<user>\AppData\Local\VirtualStore\Program Files (x86)\DcUpdater

(removing ' (x86)' if you're not running 64-bit Windows).

Otherwise, DcUpdater will keep believing 1.28.01 is installed and will reinstall 1.30.01 forever.


HTH

mouser

  • First Author
  • Administrator
  • Joined in 2005
  • *****
  • Posts: 40,913
    • View Profile
    • Mouser's Software Zone on DonationCoder.com
    • Read more about this member.
    • Donate to Member
Re: DcUpdater reports incorrect version of installed app
« Reply #13 on: April 04, 2012, 02:47 AM »
Ah i should have built into the new version a manifest to tell it not to be able to use virtual store..
perhaps it's not too late.

mouser

  • First Author
  • Administrator
  • Joined in 2005
  • *****
  • Posts: 40,913
    • View Profile
    • Mouser's Software Zone on DonationCoder.com
    • Read more about this member.
    • Donate to Member
Re: DcUpdater reports incorrect version of installed app
« Reply #14 on: April 04, 2012, 02:56 AM »
Can some of you windows 7 users manually download the brand new updater that i just uploaded with a manifest file:
https://www.donation...s/DcUpdaterSetup.exe

And tell me if it works on on windows 7?  This should bypass any virtual store, I hope.

I just want to make sure I didn't break anything with the new manifest.

sba

  • Member
  • Joined in 2007
  • **
  • default avatar
  • Posts: 57
    • View Profile
    • Donate to Member
Re: DcUpdater reports incorrect version of installed app
« Reply #15 on: April 04, 2012, 03:06 AM »
I've intentionally restored the virtualstore stuff (incl. the DcUpdater file for DcUpdater claiming it's 1.28.1), installed your new build, and it does ignore the virtualstore information.

mouser

  • First Author
  • Administrator
  • Joined in 2005
  • *****
  • Posts: 40,913
    • View Profile
    • Mouser's Software Zone on DonationCoder.com
    • Read more about this member.
    • Donate to Member
Re: DcUpdater reports incorrect version of installed app
« Reply #16 on: April 04, 2012, 03:12 AM »
Thank you so much for the report and all the help sba, I think we might be able to close the book on this one, and i can get some sleep after a frustrating day.

sba

  • Member
  • Joined in 2007
  • **
  • default avatar
  • Posts: 57
    • View Profile
    • Donate to Member
Re: DcUpdater reports incorrect version of installed app
« Reply #17 on: April 04, 2012, 03:20 AM »
You're welcome.

And sorry if you get the feeling I got you frustrated. Bugs are a fact of life, we're just humans  :P


Have a good sleep!

mouser

  • First Author
  • Administrator
  • Joined in 2005
  • *****
  • Posts: 40,913
    • View Profile
    • Mouser's Software Zone on DonationCoder.com
    • Read more about this member.
    • Donate to Member
Re: DcUpdater reports incorrect version of installed app
« Reply #18 on: April 04, 2012, 07:43 AM »
And sorry if you get the feeling I got you frustrated.


Not at all.. And I've said it before and I'll say it again: I am amazed at the patience people have in the face of some bugs and frustrations.  If I had half the patience of you guys I would be a better person.  It takes very little to have me screaming and cursing at my monitor..

sba

  • Member
  • Joined in 2007
  • **
  • default avatar
  • Posts: 57
    • View Profile
    • Donate to Member
Re: DcUpdater reports incorrect version of installed app
« Reply #19 on: April 04, 2012, 07:48 AM »
I sometimes do yell at my monitor, too  :P

sba

  • Member
  • Joined in 2007
  • **
  • default avatar
  • Posts: 57
    • View Profile
    • Donate to Member
Re: DcUpdater reports incorrect version of installed app
« Reply #20 on: February 19, 2013, 07:18 AM »
I hate to say, but the problem's still there / back.

DcUpdater reports I have both ScreenshotCaptor 3.07.01 and 3.08.01 installed.

The one running is 3.07.01.

3.07.01 is reported as:

ScreenshotCaptor:
WebPage: https://www.donation...hotcaptor/index.html
DcUpdate File: C:\Program Files (x86)\ScreenshotCaptor\ScreenshotCaptor.dcupdate
Remote Version File: https://www.donation.../pad/versioninfo.xml
Remote Update File: https://www.donation...nshotCaptorSetup.exe


3.08.01 is reported as:

ScreenshotCaptor:
WebPage: https://www.donation...hotcaptor/index.html
DcUpdate File: C:\Program Files (x86)\ScreenshotCaptor\ScreenshotCaptor\ScreenshotCaptor.dcupdate
Remote Version File: https://www.donation.../pad/versioninfo.xml
Remote Update File: https://www.donation...nshotCaptorSetup.exe

How do I get things back straight?

Isn't a bug still lurking somewhere?

mouser

  • First Author
  • Administrator
  • Joined in 2005
  • *****
  • Posts: 40,913
    • View Profile
    • Mouser's Software Zone on DonationCoder.com
    • Read more about this member.
    • Donate to Member
Re: DcUpdater reports incorrect version of installed app
« Reply #21 on: February 19, 2013, 09:31 AM »
you have 2 copies of screenshot captor installed.
you can see the second one is:
C:\Program Files (x86)\ScreenshotCaptor\ScreenshotCaptor\

that shouldnt be there, it should be in C:\Program Files (x86)\ScreenshotCaptor\

sba

  • Member
  • Joined in 2007
  • **
  • default avatar
  • Posts: 57
    • View Profile
    • Donate to Member
Re: DcUpdater reports incorrect version of installed app
« Reply #22 on: February 19, 2013, 09:52 AM »
I swear I didn't intentionally install it to the incorrect directory.

Only 3.08.01 shows up in "Add or remove programs."

Did you at some point change the installation defaults?


I've uninstalled 3.08.01 using Control Panel and then renamed the
C:\Program Files (x86)\ScreenshotCaptor 
directory to
C:\Program Files (x86)\_ScreenshotCaptor


After that I reinstalled 3.08.01.

Situation's now back to normal.

Until....  ;)

J-Mac

  • Supporting Member
  • Joined in 2007
  • **
  • Posts: 2,918
    • View Profile
    • Donate to Member
Re: DcUpdater reports incorrect version of installed app
« Reply #23 on: July 09, 2013, 10:11 PM »
Hope it's not a problem to add on to this thread but I am seeing similar issues with dcupdater.

First, I was getting NO update notifications at all so I manually opened the window tonight and lo and behold I see a line there I hadn't seen before: "Only show updates for Screenshot Captor" with a checkbox next to it - checked. Where did that come from? I have more DC programs installed that used to be updated with dcupdater but now it excludes them, apparently intentionally.

So I deselected that box and checked manually (with the big Check Now button) and received updates for three DC programs, including SSC. However after the updates completed that same checkbox was selected again. Why is that? It prevents dcupdater from checking for the other program's updates!

Also, a few other little oddities:

  • Easy Screencast Recorder shows I have version 1.09.01 installed but that a newer version is available on the web... 1.07.01 !
  • Also, it shows that I updated Screenshot Captor from V.4.03 to 4.05, rather than the correct version numbers 4.3 to 4.5.


(Screen cap attached)
[/list]

Thanks for any help - when you get a chance. No hurry on these little boo-boos!

Jim

[attachthumb=#1][/attachthumb]