Requirements/Questions (wodAppUpdate)
Hello,
I'm very interested in your product, but need more information
about (technical) requirements.
Many of my customers have highly-secured Windows environments
in which they have almost no rights to write to e.g. registry
or windows directory etc. Any requirements here?
From reading the online help, I was able to identify below:
* R/W to application directory (for e.g. temp files).
Question: is the name of the upgrading executable reproducable in the case the user wants to manually start the update later (not closing the application then)?
Or is it, that as long as an update is not cancelled, the application has to be closed (of course) for **immediate** update?
* Internet settings of the system are used - the help says.
Are these overwritable/configurable within the component (if user is e.g. behind firewall/uses proxy and needs other settings) or maybe in a later version of it?
Example: core system internet settings may be read-only, but user needs to manually enter proxy credentials when going outside of company network.
* How is user authentication handled exactly? I.e. when using password protected server directory, what happens upon cancelled/wrong authentication? I do not see an error event or errorcode property.
* I haven't downloaded/installed the evaluation copy, but is there a Delphi (5 or 2006) example available, too?
Thanks a lot in advance for any further insight.
Regards,
Tobias
Re: Requirements/Questions
Tobias,
let me try to answer your questions:
Question: is the name of the upgrading executable reproducable in
the case the user wants to manually start the update later (not
closing the application then)?
Or is it, that as long as an update is not cancelled, the
application has to be closed (of course) for **immediate** update?
New files have '.new' appended to their name. Once you start your application, you can call 'Update' method to check if your app is ready to be updated (as a leftover from previous run)
Are these overwritable/configurable within the component (if user
is e.g. behind firewall/uses proxy and needs other settings) or
maybe in a later version of it?
Example: core system internet settings may be read-only, but user
needs to manually enter proxy credentials when going outside of
company network.
WinInet is used to fetch resources so that we spare on as much size of the component as possible. So, component reuses same settings as they exist in Internet Explorer
I believe these could be overridden. We didn't allow you to change it yet, but I can check it out and add properties if needed.
How is user authentication handled exactly? I.e. when using
password protected server directory, what happens upon
cancelled/wrong authentication? I do not see an error event or
errorcode property.
Some wininet error is returned. I am not 100 sure which one - you can try it out if you wish. I know *some* is :)
We don't have Delphi samples but can add them in a day or two if needed.
Regards,
Kreso
Re: Requirements/Questions
Hi Kreso.
New files have '.new' appended to their name. Once you start your application, you can call 'Update' method to check if your app is ready to be updated (as a leftover from previous run)
Understood. But the component does then not (or is not able of)
to validate that all .new files still exist as they should,
right? Would I manually have to check for .new files at start
of my application to guess that it is updateable or does the
component detect this as well? If not, this might be a nice
feature for later versions (auto-detecting previously downloaded
update(s) for postponed update mechanism).
From my point of view the best way seems to highly recommend my
users to *really* process the update when something was downloaded
(incl. closing the application etc.).
Also - for later maybe - a backup and restore feature would be
awesome by way of named archives or sub-folders, i.e. if there is
a global version number for the full set of files, an archive
with a prefix and that version number would be nice to have.
This is not yet part of the package, right?
WinInet is used to fetch resources so that we spare on as much size of the component as possible. So, component reuses same settings as they exist in Internet Explorer
I think that should be ok for the standard case to fetch e.g. a proxy. But as mentioned earlier, this may require additional
authentication by the user once the extranet is being accessed.
This is often the case with corporate customers and therefore I
myself would need more flexibility for the user to configure some
settings. If the component would eventually offer properties for
proxy username and password, that should help a lot I think. :)
How is user authentication handled exactly? I.e. when using
password protected server directory, what happens upon
cancelled/wrong authentication? I do not see an error event or
errorcode property.Some wininet error is returned. I am not 100 sure which one - you can try it out if you wish. I know *some* is :)
The question is, how does the component react on this? Does it show the error to the user and abort the Check ? Hopefully it will automatically abort the process itself and not just die . :)
Maybe you can check and explain that further, please? :)
Thanks a lot,
Tobias
Re: Requirements/Questions
Understood. But the component does then not (or is not able of)
to validate that all .new files still exist as they should,
right? Would I manually have to check for .new files at start
of my application to guess that it is updateable or does the
component detect this as well? If not, this might be a nice
feature for later versions (auto-detecting previously downloaded
update(s) for postponed update mechanism).
From my point of view the best way seems to highly recommend my
users to *really* process the update when something was downloaded
(incl. closing the application etc.).
This looks like excellent idea - to add new event that will notify you upon startup that you can call Update method. I'll try to add this shortly.
Also - for later maybe - a backup and restore feature would be
awesome by way of named archives or sub-folders, i.e. if there is
a global version number for the full set of files, an archive
with a prefix and that version number would be nice to have.
This is not yet part of the package, right?
Can't promise that. I cannot remember all of those subversions. But you can :)
I think that should be ok for the standard case to fetch e.g. a proxy. But as mentioned earlier, this may require additional
authentication by the user once the extranet is being accessed.
This is often the case with corporate customers and therefore I
myself would need more flexibility for the user to configure some
settings. If the component would eventually offer properties for
proxy username and password, that should help a lot I think. :)
True. I will try to add it too.
The question is, how does the component react on this? Does it show the error to the user and abort the Check ? Hopefully it will automatically abort the process itself and not just die . :)
Maybe you can check and explain that further, please? :)
It will fire CheckDone event with some error, such as 30006 (signature invalid). For example, you may handle 404 error and when you request update some custom page is returned - instead of configuration file. That's why Signature is required on configuration file so that component is sure it downloads correct file. So, *SOME* error is returned. Only if ErrorCode = 0 you can proceed to download. Well, you can of course only check if NewFiles argument is set :)
Hope I helped.
Kreso