How to access the install4j custom application screens for a macOS app after 'first run'? - install4j

Install4j 9's DMG media file allows an installation wizard to be launched when the application shipped in the DMG is run for the first time, but there doesn't seem to be any way to access the custom install screens after that first run (for instance, to re-perform or undo some of the actions performed).
Is it possible to 'reset' the first run flag, or somehow pass an argument that will allow someone to access the custom install screens after the application has been run for the first time ?

You can start a custom installer application with the API. To get a code snippet to do that, select the custom installer application in the Installer->Screens & Actions step, activate the "Launcher integration tab" and click on "Start integration wizard". The code snippet will look like this:
ApplicationLauncher.launchApplicationInProcess("594", null, null,
ApplicationLauncher.WindowMode.FRAME, null);

Related

How to User "Run" Command in Selinium Ide?

i have been assigned to present about 'run'command in selenium IDE but icant found any related examples or documentation
I make a lot of use of the run command. I use it to make up a test out of building blocks.
So, if I'm testing something that sits behind a login form, then I might have a test which is the happy path for login, and then a series of tests to test the feature. I don't want to have to have the login steps in each test - as if the login functionality changes I'd need to rebuild all of my scripts.
So, in this case, I'd have a test called #login (I use # to prefix those that are building blocks for easy identification and so that they float to the top of the list of tests in the IDE view) which would do the simplest thing possible to log in successfully.
When writing my tests for the new feature, I'd start with the following
Command: run
Target: #login
which I know will do a happy path login.
I can then build on top of that with the test steps for my new functionality

install4j: Unattended auto-update and relaunch at end

So I'm trying to build an auto-updater for my app. I've chosen the "Update downloader with silent version check". It's integrated with my launcher as well, like it can be seen in the first picture. I'd like if possible to remove the screen where the user is asked whether to launch the updater and just always execute it.
launcher integration
Screen to remove
My client would also like to have the auto-update process as unattended as possible. So it would need the following steps:
1) user starts launcher
2) auto-updater checks and finds new version
3) auto-updater downloads new version
4) auto-updater launches downloaded updater
5) auto-updater finishes and relaunches new version of the app
I've managed the first 4 steps but I can't manage to make it relaunch the app, or at least have an informative message saying that the user needs to relaunch it him/herself. I've added the Execute launcher action but it seems to either not launch or launch the previous version. Is there a tutorial or anything for this at it seems like my case is pretty standard? :(
Any help would be appreciated, as I've been struggling with this for a while.
Thanks
The background update functionality in install4j (since 7.0) is more suitable for your use case.
See
https://www.ej-technologies.com/products/install4j/whatsnew7.html
and search for "Background auto-update" to see screen shots.
To get started, add a "Background update downloader" application on the Installer->Screen & Actions step.
In the launcher wizard of a GUI launcher that should process scheduled update installers, go to the new "Auto-update integration" step and select the "Execute downloaded update installers at startup" check box. By default, the execution mode is set to "Unattended mode with progress dialog".
For services and command line launchers, the UpdateChecker API allows you to execute scheduled update installers programatically.
You can also execute the downloaded installer as soon as it's downloaded. The source file
samples/hello/gui/HelloGui.java
shows you how to interact with the background updater by using the API.

How to develop Case Manager widget in local envrionment?

Thank you for viewing my question.
We are using IBM Case Manager(ICM) 5.2. There are new change from users. I am the BA/developer.
To modify the existing Case Manager Plugin and custom widgets, I have to do the following tasks:
Change the ICM widget JS and HTML codes, on my local environment with Eclipse.
Replace the JS and HTML from the (custom) widget package, send the updated package to application server.
On the server, use the Case Manager configuration tool to deploy the package.
Login Case Builder and deploy the solution. Test the code and revert back for testing.
My questions are:
(1). I don't know how to run these codes on my local environment without deployment into ICM. Is it a must to install a Case Manager in my local envrionment?
(2). Is there an easy way to test and debug Custom Widgets JS & HTML codes from my local environment?
Regards!
In order to be completely run and configure widgets locally, you'll need a complete installation of ICM. This is due to the fact that you'll heavily rely on both Content Navigator as Case Manager resources. You might be able to test a thing or two by requiring remote resources, but in the end you'll need to integrate your widget on a running installation to be able to actually use it in the page designer.
By far your easiest option is to locally build your widget, then remotely deploy and remote debug.
Assuming you know how to deploy your widget (use the Config mgr, or the icmadmin desktop), then by far the easiest way to debug the front-end, is using the "developer tools" that come with most browsers (IE/FireFox/Chrome). Simply hit the F12 button, locate your .js file and place a breakpoint. Consult your browser's help/google on how to use the tools.
Debugging the java part of your widget can best be achieved by creating a remote debug session in eclipse to your application-server. In eclipse go to "Debug Configurations", then add a new "Remote Java Application", choose your "Widget Project" and fill in the remote ip/(debugging)port of your application-server. Press Debug and you're set! Place breakpoints and invoke your java :)
Additionally see this blogpost with additional tips for debugging + screenshots: Debugging your ICN plugins (or ICM widgets).

Can a "run configuration" ensure another app is running?

When working with Mule ESB, we need to have (in our case) ActiveMQ running (in a terminal) or it won't work. That's fine, but I sometimes forget to start ActiveMQ, which caused me to wonder...
Can I somehow explain to my "Run configuration" that it should start an external program in conjunction with starting the run|debug session? And if so, can it be configured to only start it if it's not already running?
I am not sure whether you can run the external application using your project run configurations. But from mule studio you can start the external application using Run--> External tools. Refer the below kink for details
http://help.eclipse.org/juno/index.jsp?topic=%2Forg.eclipse.platform.doc.user%2Ftasks%2Ftasks-exttools-running.htm
Eclipse CDT contains a useful type of launch configuration called a Launch Group. With a launch group you can set up different launches to run and what order. You can optionally add delays between launches (to allow for your service to start) or wait for a set up launch to terminate before running the next one.
To install the launch groups you can add "C/C++ Development Tools" to your installation.
Once installed, you should have a new launch type called a launch group.
Here is an example of one that may address your first question:
Launch Group Example
As my example shows, you don't need to have any CDT launches to be able to use Launch Groups.
As for your second part. This is in active development. Eclipse EASE is adding full scriptability to Eclipse and as it turns out I have just written a post about adding launching capabilities to the scripting. You can follow that work on bugzilla: Bug 478397

How to avoid application start after cancel auto update on startup?

Today I need help to deactivate the auto startup of the main application after I abort the update process. The update is triggert automatically during startup so I used the "silent version check" template. But I can't find any option to deactivate the automatic startup.
It is necessary to update the version if there is any newer then the installed one before starting the main application.
I am using version 5.1.5.
Thanks in advance
Hardie
If your requirements are more complex, you cannot use the automatic launcher integration. On the launcher integration tab of the updater, click on "Start integration wizard". The wizard will give you a code snippet that you can invoke in the main method of your application in order to start the updater.
Surround that code snippet with
if (UpdateChecker.getUpdateDescriptor(UPDATE_URL,
ApplicationDisplayMode.GUI).getPossibleUpdateEntry() != null) {
// code snippet from the integration wizard to launch the updater
}
so that the updater is only invoked if an update is available. Then, if you do not receive a call to prepareShutdown, you can display a warning and close the application.