Redemption nag screen keeps coming up - outlook-redemption

Under win XP, the 'nag screen' showed up only when installing redemption.dll. Under win7 and win8 I get it whenever I log on. Is this normal?

Yes, it is normal. Redemption stores the information when it last displayed its EULA differently on different operating systems.
Note that the distributable version of Redemption never displays any prompts. Also note that the eval version of Redemption is not licensed for any business related purposes.

Related

Publishing Delphi applications to the Microsoft Store

I would like to publish my first Delphi application in the Microsoft Store.
Do applications published in the Microsoft Store also have to be signed with a commercial certificate?
When I launch my application, the user should not be shown that the application is from an unspecified developer, etc.
Yes, you need a code signing certificate. You can get a standard or an extended validation certificate. The last one is more expensive, but since you are vetted more thoroughly, MS also values these higher.*
Even with that, you still have the risk of your app getting flagged by Windows Defender as a potentially unwanted application until sufficient people have downloaded it and marked it as safe (google e.g. "defender flagging downloaded installer")
MS itself gives more information at Publish Windows apps and games, and note that you need to supply a MSIX, MSI or EXE.
BTW Embarcadero also has some information about publishing as an APPX and to the Micrososft Store:
Windows 11: A Beautiful Meteor Will Wipe Out The Dinosaurs about Windows 11 and app stores
VCL Integration with WinAPI, COM & ShellAPI, and WinRT YouTube video, TWindowsStore discussed at 37:00
* Do not confuse this with the three levels of website certificates, e.g. described here.

Blackberry OS, how open are they?

I am looking forward to developing an app.
This app, was fully 'capable / supported' by the OS on Android, but
not necessarily on iOS
It basically taps on to OS's native phone and message apps to carry out some functions.
(has to be on background, as long as the app is open)
This, however is not possible as you all know, on iOS.
I am trying to forecast the feasilibilty of this app (same functionailty) on Blackberry OS.
I have googled, with keywords like, "how open is blackberry os", "can I build - on blackberry os"
As expected, not much search results.
Please take 1~2 minutes of your time and let me understand where on the graph
Blackberry OS stand on. Thanks.
Close/Sandboxed-------------------------Open/do_whatever_you_want
---------iOS---------------------------------Andriod-----------------------------
I would categorize both BBOS (older Java based phones) and BB10 (new C++ based phones) as closed.
But, in a lot of cases with BBOS especially, there are provided API functions for close interaction with the native apps, including email and phone applications. So if the requirements you specify are all you require, then I suspect you can do it in BBOS.
BB10 is a work in progress. AFAIK, the listeners for these applications are not there yet. For example, there is no notification on a phone call. Moreover, until 10.2 OS, which is just out, there was no way to have a background, always running app (and even now, to get one of these, you need to ask BB to give you the required permissions). But these APIs are, as I understand it, coming. And if there is a need, I think BB will provide it (why I think all the APIs are there in BBOS).
So as a previous comment has said, the correct answer is 'it depends'. On BBOS, you need to check the doc to find out If you can do what you want. On BB10, I'm betting it is probably not there yet, but could well be in the near future.
The only other thing I would say is, if it is not provided, then you will not be able to hack it in any way.

Control iOS app version with webservices

I want to know if there's any trouble in creating a version control on my iOS app, because I'm going to make some huge upgrades in my webservices code and don't want that any user try to access the old version and the app crashes or don't work properly.
My idea is to create a service that capture the app version and than, if its an old version, the user can't access the app until the new version is installed.
I know that some android apps do this, but I didn't find any iOS app with this control.
Thanks!
Your app has a version, and you're writing the web service, so I don't see why you couldn't have your web service check the version and respond with a message that tells the app to show a message asking the user to upgrade.
That said, it would be much, much nicer for your users if you design the web service so that it detects the app version and then provides appropriate functionality for whichever version the user has. You might not want to continue support for the older version forever, but your users would probably appreciate having some time to upgrade when they choose to rather than when your app forces them to.

How to install a program developed in J2ME (JavaME) in a BlackBerry WITHOUT re-booting?

I have a very unreasonable requirement from my overlord.
I developed a little application in JavaME. It is OK.
He is testing the app in different models of the BlackBerry. In some models, after the installation of the .jad, the phone ask for re-boot, in others, you could use the app just after the installation.
As a new requirement the app must be functional without re-booting.
Could you tell me how to do this? and with which code of JavaME? Have not found any relevant information (in code) about it.
Notice that the app is developed with Java and NOT with the BB SDK. Even more, I don't know the architecture of the BB's to see why in some cases it needs re-booting (neither the architecture of the other mobiles that work with JavaME!!).
If the application has not been installed on a device previously (or the device has been rebooted after the application has been removed) then you should not have to reboot after installation. There are a number of reasons why removal or replacement of (upgrading) an application will require a reboot. They all boil down to the OS has only one instance of the JVM and it is still holding references to objects that are defined in the application.
A very simple application that has not run since the last garbage collection may be replaced without rebooting. Any application that registers a listener or other objects with the the OS, or runs in the background will usually require a reboot.
To test what a new customer would experience having never used your application before try this:
If the application is installed on the device, remove it.
If the device does not reboot, reboot it (Alt-Caps-Del or battery pull).
Once it has finished restarting install the application.

Determine if the BlackBerry is in a "reboot pending" mode

The following pertains to the RIM BlackBerry API.
If your app has a memory resident portion and, optionally, a UI portion, and the user downloads an update OTA, the system will, correctly, tell the user that a device reboot is needed in order to fully install the application.
The user then has the option to say "no thanks, I'll restart later when it's more convenient for me".
At this point, the app running is still the older version, and will remain so until a reboot, which can occur hours or days later.
The question is, if the app is of the design where, if a new version is available, it's not "healthy" for the old version to be running (for example, in a situation where the data exchange format has changed between the client/server portion of the app), how do you programatically determine if the device is in this "reboot pending" state so that when the user attempts to continue to use the older version of the software, you can display a warning to the effect that a reboot is still required, and disallow further use of the old version until the reboot takes effect.
It would be preferable if the solution, if one exists, is RIM OS 4.1+, but it would be understandable if there's a new API call somewhere in RIM 4.5+ that I'm not aware of.
as far as I know there is no way to check if the device is in a "reboot-pending" state.
But you can use the MODULE_FLAG_DELETE Flag to check if the module is scheduled for a deletion. The Reboot does nothing else than to delete the old module and insert the new one.
Good Luck,
rAyt

Resources