For InstallShield, How can I get a path from the user by browsing the computer? - installshield

I am packing a plugin for another program, thus I need to get the path of the pre-installed program (proe 4.0) and set an environment with it.
Now I used "Requirement" function in InstallShield to search the file of proe 4.0.
The problem is, this "search" function cannot find the install directory in some of the conditions, such as in a nonstandard installation.
I want to show a dialog with a browse button and a text box to allow the user to define the installation directory themselves. How can I do that?

I found the solution which is very easy for advanced users: use a script project, and in the setup vbs script you can find everything you want.

Related

How to create a SnoreToast start menu shortcut with a Working Directory to a .BAT file?

Using node-notifier#7.0.0's SnoreToast on NodeJS v13.13.0, I am trying to create a Start Menu shortcut to use as appID for SnoreToast's notifications, I have a .BAT file that runs the command node "src\index.js", and I'm assigning this .BAT file as the target application of the SnoreToast shortcut as seen below:
"..\node_modules\node-notifier\vendor\snoreToast\snoreToast-x64.exe" -install "SomeAppName\SomeAppName" "c:\Users\Redacted\Desktop\proj\start.bat" "app.someappname"
The shortcut is successfully installed on the Start Menu in a folder named SomeAppName and the shortcut itself named SomeAppName aswell, and when I open the shortcut, it targets the correct start.bat file, but the start.bat is unable to fullfill it's purpose due to the shortcut opening it on C:/WINDOWS/System32 and ultimately wrongly targets C:/WINDOWS/System32/src/index.js, causing it to fail.
By manually editing the shortcut's "Start in" option on the Properties dialog in File Explorer to the correct path of my project (C:/Users/Redacted/Desktop/proj) and saving, it runs perfectly, but obviously I don't want to make my users have to manually do this work + the application should be portable and runnable anywhere it's stored on the FS, so how would I edit the "Start in" (aka Working Directory) of a SnoreToast shortcut on creation? I've already tried to Google it but all the results are unrelated and SnoreToast's documentation doesn't address this issue either.
A solution that does not require any additional npm packages would be preferred, but one that uses an npm package is acceptable aswell. All help is appreciated.

Visual Studio Installer, how can i select any folder using custom dialog

I have made a setup project using Visual Studio Installer. Now in this setup project I just want to have a custom dialog box which have one textbox and one button(BrowseButton), when I click this button a popup for selecting a folder in the target machine may appear.
In other words I want The "Browse For Folder button" or ""browser button" so that I may select any folder in the target machine. Once I select a folder the path should now come in the textbox. Because in the end I would like to save this path in the registry of the target machine.
I have Orca and I did tried to make this custom dialog using it but I am unable to do it.
There is only one browse dialog in those setups, and that's for the main application folder, so there isn't a way to do this. A custom action won't help because they all run after the files are installed.
I don't know why and where you need to browse to, but in most case there is a simple default location (such as an application data folder or a shared folder) that works fine. This really helps during upgrades when the upgrade install may need to do something with that variable location, and any apps will always know where it is. It's easier for the user too.

How do I specify a File manager in Idea running in Openbox in Linux?

I've been developing in Idea on Linux for a little while now and am getting used to it after the initial pain of transitioning from Eclipse.
One of my problems has been how to configure the file manager. I'm running Openbox on Arch Linux and I can't see an obvious way (despite some extensive Googling) to specify a default file manager and I'm not sure if Idea would use it if I did.
Does anyone know how to specify the file manager in Idea for Openbox on Linux?
Click IDE Settings -> External Tools, and then click the Add button.
Specify the tool - like in this screenshot:
http://kobo.github.io/grails-improx/img/idea-external-tools-edit-sh.png
Basically you can specify any external program you want.
The program path should point to the binary file you want to use as a file manager (for example thunar is a great one: /usr/bin/thunar (you can find the correct path by executing "$which thunar" in a terminal)).
The parameter & working dir should be "$FilePath$" & "$FileDir$ (or you can choose other variables if you prefer different functionality)

What files are required to use NSIS? I am bundling it with another product, so users can create their own installers

I have what might be a simple question and might be....a more complex one. We are preparing to add NSIS to our software, that is, we want people who use our software to be able to create installers using NSIS, but through our software. (We'll be creating functions using NSIS, acknowledging NSIS, etc.) What I am trying to figure out before we get started is how many/what files our customers will be required to have on their hard drive for NSIS to work. So, we just need to know if nsis can be used standalone or if it requires the user to install it into program files, or if it requires a lot of different files in AppData - If we have to bundle a few .dlls, that's not a problem and is expected. Ultimately, if we end up having to bundle NSIS as well, that's fine - We just want to make sure it'll work on other people's computers without telling them to go download it.
MakeNSIS does not read/write from/to the registry or anywhere else and only needs a handful of files for minimal operation.
To build a simple installer you need:
NSIS\MakeNSIS.exe (Just calls Bin\MakeNSIS.exe)
NSIS\Bin\MakeNSIS.exe
NSIS\Stubs\* (If you are only going to use a specific compression mode you only need one, and the uninstaller file if you want uninstall capability)
If you want to use the Modern UI you need its header files, some files from Contrib (Graphics and UI) and system.dll and nsDialogs.dll from the plugin folder.
Everything else is optional but I would recommend that you also bundle:
NSIS\Include
NSIS\Plugins (You can remove stuff you will never need; dialer, splash etc)
NSIS\Contrib (Language files, graphics and UI)
You can find license information here.
You could also just ask the user to install it and enter the path to it in your setup program...
I would just include all of the files. (It's only 5MB or so) NSIS has a zip archive as well as exe installer that includes the necessary files. (Or just zip up the installed directory from exe installer).
From my experience, NSIS does not need to be installed to work. I run a fleet of build servers that build NSIS-based installers, and they each just have the files extracted in a directory. The installer is never run on them. This should mean there are no DLLs to register or things like that.
Just make sure you are following whatever their licensing terms are - I have not reviewed redistribution/bundling of their files in another product, since that is not something I do.

Creating a menu item generically in Linux

For part of a large university project I have built a large java based application. To make "installation" cleaner I am aiming to write a script to copy the jar to a hidden file in the users home directory then add a menu &/Or desktop launcher.
Since I do not know what platform the markers shall be using it seems sensible to make this generic so I was going to build a shell script and a batch file.
The shell script starts off simple, check the directory doesnt already exist, make it and copy the file accross.
Then it comes to making a launcher of some kind. I presume each desktop environment shall do things differently.
After 10 minutes with google it seems everything suggested is autotools but since I have no knowledge of this it seems a bit overkill.
Is there an easy way to achieve what i need?
Thanks
These days, basically all of the desktop environments uses desktop files. For the specification for those files, see the Desktop Entry Specification.
Normally, they're put in /usr/share/applications on the system. Those files are then read and used to construct the menu.
If you have the ability to write to the system /usr/share/applications directory, that's obviously simplest, but if you had that, you would probably be putting the JAR file somewhere other than a hidden directory in the user's home directory.
If not, the path that's supposed to be honored is ~/.local/share/applications. If you drop a desktop file in there, it should show up for the user. (This is somewhat newer; I don't think GNOME 2 supports, it for example. Older desktop environments had various special places for these files.)
Then, the problem basically reduces to figuring out what to write for the Exec line in the desktop file. (See the desktop files on your system in /usr/share/applications for some examples.) If you're lucky, you can get away with just sticking a java command in there, but the details will depend on your application.

Resources