Is there anyway to disable the TideSDK installer dialog popup when first opening your app. I am submitting an app to a 3rd party distribution site and it was rejected because of this.
Please help?
You could use tidebuilder.py and pass the -n parameter to it. The final command would be:
./tidebuilder.py -n -d {output dir} {source project dir}
If you create the application in bundled mode. There would not be any installer dialog popping up while installing the application. It is likely that you have created a networked installer and while installing and running first time its trying to fetch the modules from internet by popping up the installer dialog.
Can you provide some more details about your application, modules used by the same, are u creating net installer or bundled, which platform you are on ?
Also if possible describe the commands which you are using to create the application. This would be helpful for further investigating the issue.
Related
I have an application, an aspnet core website 3.0 that is currently running in a console application.
A client is interested in installing it on their internal network.
I am thinking that its best to convert it to a background service and windows can ensure that its running. Following: https://dotnetcoretutorials.com/2019/12/07/creating-windows-services-in-net-core-part-3-the-net-core-worker-way/
What are my options to create an installer for this? Is there anything new out of the box with dotnet core that makes this easy, or should I just go with older "best practice" aka google it to create an installer? Or is it best to just use that sc create TestService BinPath=C:\full\path\to\publish\dir\WindowsServiceExample.exe command to install it.
Author of the blog post here. It really depends on who the target audience is. If it's someone trying to deploy it on an internal network, IMO the SC commands are fine because either
A. It's an IT person installing it anyway so they won't have fear of double clicking a .bat file.
B. The IT team uses some sort of GPO/scripting to keep all machines in line in which case they can surely run a one line command to install it anyway.
An installer is only useful if the end user is non-IT, a customer etc.
we just started playing with jwrapper and we have couple of questions .
1)Is it possible to install the application in the same directory where we click on the installer instead of installing in APPData/Roaming folder .
2) Is it possible to delete all the data automatically once the application is closed ?
3) We are also looking for encryption and want to play around . How can we test it out?
1) Its not possible to change the install dir that JWrapper uses. The reason why is explained here under 'Why can't I change the master folder?':
http://www.jwrapper.com/faq.html
2) If you wanted it to be reliable you might need to launch another virtual app which then communicated with your app and launched an uninstall of your app bundle when your original app had completed.
When you launch your child virtual app JWrapper can handle the communications between them for you:
http://www.jwrapper.com/blog/archives/08-2013
Then when the first app goes down you can use the JWrapper APIs to uninstall the entire bundle:
http://simple-help.com/media/static/jwrapper/jwutils/JWUninstallApp.html#doUninstallOfEntireBundle(boolean)
3) You can email us for a trial license for JWCrypt. Using it is very simple, the following guide explains how (bottom of the page):
http://www.jwrapper.com/guide-jwcrypt-code-protection.html
Many applications have this functionality now, but a good example is the Spotify client.
The app discovers there is a new version available, downloads it in the background then prompts the user to restart to get the new version. When the user quits the new version is installed (or the installed version is patched) then the application is restarted, all without further user interaction. In fact, the user really doesn't even have to do anything the app would automatically update on every exit if the user was never notified.
We have a cross-platform Qt 5.3 application and our lean startup business model requires us to push application updates very often so I'd really like to find a method that works cross platform with as little platform specific code as possible.
There are multiple parts to this question.
Noticing the update, and downloading the installer. (Obvious, and not a problem)
Running the installer application. Not an issue except how does one gain privilege? Spotify never asks for privilage to install again after the first install.
Avoiding "This application has been downloaded from the Internet" approval dialogue on every update.
Restarting the application after upgrading, but only when the user responded to the quit and upgrade prompt.
Specifically are there any tools, installers or code examples that do this?
You can follow how Google Chrome and Opera (latest one, not version <= 12) do it, rougly as below:
When installing the application, create a scheduled task that runs an updater as administrator (or a user with permission to write files to your application directory) periodically. For example in Windows, you can find GoogleUpdateTaskMachineCore and GoogleUpdateTaskMachineUA entries in Task Scheduler.
Your application structure looks something like the following (Google Chrome has similar structure in C:\Program Files (x86)\Google\Chrome\Application):
C:\Program Files\AwesomeApp\launcher.exe
C:\Program Files\AwesomeApp\1.0\AwesomeApp.exe ; version 1.0 of application
C:\Program Files\AwesomeApp\1.2\AwesomeApp.exe ; version 1.2 of application
The application shortcut created by installer will run launcher.exe. This launcher.exe will run the latest version of AwesomeApp.exe available in the directory. For example in the above structure, launcher.exe will run AwesomeApp\1.2\AwesomeApp.exe.
When the updater finds an update, it will download it and add the new version to the directory in the background. After that it will tell the running application (if it is running) to notify the user that an update is ready and can be used by restarting the application. And of course your older application needs to close itself and restart by running launcher.exe too. This updater may delete old application versions and keep only the latest two versions.
I am a novice when it comes to apps but i have managed to write one, test it, debug it, install it onto my Iphone. I'm now on the final step upload it through application loader...
my problem is i can't get application loader to install. i have downloaded it, run the .dmg, this creates a new device on my system with the file applicationloader.pkg. I run this and it runs me through the installation, i have entered my admin authority, it says installation complete.
But it doesn't have the program anywhere. i have looked in Applications, searched in the finder and i can not locate where the application loader is.
1 - is there a reason why it wouldn't be installing properly?
2 - is there a way to download a previous version (current is 2.7) to try that
3 - is there a way of uploading without the application loader?
If you have the latest Xcode installed on your machine, go to the Xcode menu item/Developer Tools and open the Application Loader. If you are working with Xcode there is no need to use the application loader though. Every step you need to bring your app into iTunes connect can be done via Xcode. The steps are Archive (for Release), select the archive - validate it (you mast have prepared your app in iTunes Connect (must be in the status ready for upload) and the submit it to the store.
I have an NSIS installer that installs my Qt application. At the end of the install process, the installer gives the user the option to launch the application immediately.
My application uses QLocalSocket/QLocalServer to talk to other local instances of the application. (They talk to each other basically just to ensure that there's only one instance of the app running at a time.) However, on Vista, if one of the instances was started up by the installer, then other instances cannot talk to that instance unless they were also started by the installer (or uninstaller, interestingly).
The NSIS installer launches the app with the Exec command. The client tries to connect to the server through QLocalSocket::connectToServer, which fails with the error "QLocalSocket::connectToServer: Unknown error 5".
Can anyone explain this? What's the best way to work around it?
If 5 is a windows error code, it would mean access denied. Is there a way for you to change the security on this server (You would need to access the native pipe handle)?
The finish page run option has more issues than just this, the new process gets the wrong HKCU and user profile etc.
I would recommend just disabling the run checkbox on the finish page. (This issue goes all the way back to win2000 when RunAs was added)
If you really really want this run checkbox, you can use the UAC plugin, it will allow you to start a child process as the "correct" user.
Finally figured this out. The installer was running as admin (the install script said "RequestExecutionLevel admin"), and apparently it launched my app with those elevated permissions, which meant that other instances of my app running with user-level permissions couldn't connect to it. QLocalSocket/Server uses named pipes on windows, so I figure this is a windows security feature. I'm planning to work around this by using the UAC NSIS plugin, which I believe lets you run a process with user-level permissions.