Can I redistribute MailKit.dll and MimeKit.dll with my PowerShell Script? - mailkit

Can I redistribute only MailKit.dll and MimeKit.dll that are included in package(installer)?
I know the MailKit is under the MIT License but I don't understand whether I can redistribute only the dlls.
I write a PowerShell Script that uses the MailKit.dll and MimeKit.dll and I want to distribute them as a package. Is it OK?

Yes, you can redistribute the dll's.

Related

Do I need to include the Install4J license text in my distribution?

Do I need to include the Install4J license text (see here) in full or in parts when I distribute my commercial software whose installation is based on Install4J?
Neither could I find a LICENSE.txt file or something similar in the installation directory, nor did the installer GUI show any Install4J-related license texts.
The Install4J license does not seem to require an explicit listing of the license text but I'm wondering if I should still include some license info on Install4J in my attribution statement which comes with the software.
No, all generated installers and the runtime are freely redistributable, no attribution is required.
Source: https://www.ej-technologies.com/buy/install4j/licensing.html

How to know what silentArg to use when creating Chocolatey packages?

How do I find out what silentArg I need to use for creating a Chocolatey package?
I know that each installer will have different silentArgs but I just don't know where I can find which one has which. Also, I am using strictly .exe files (embedded too).
You'll have to work with the documentation/support provided by the software maintainer, but I'll provide some suggestions here.
Typically, MSI installers support the same silent installation parameters (many will simply work with /qn), but sometimes an installer might support additional variables or an input file you must provide.
EXE installers are a free-for-all, unfortunately. It depends on what parameters are coded into the setup program to support, even for the setup.exe installers that call another MSI. Depending on what built the EXE installer, you might be able to try some common options. The following techniques are suggestions to get you started on de-mystifying different common EXE installers:
A setup.exe that extracts and runs MSIs might be able to have the MSIs extracted and run on their own, but this is likely unsupported by the software maintainer. You will need to test this on your own per package to know if this approach will work.
Nullsoft Installers typically support a common array of options that can be used to deploy your application.
InstallShield Installers typically support the /S parameter along with an answer file, but you would still need to work with the software maintainer or read the software documentation to know what to put in the answer file.
As I've mentioned in other answers, the best thing you can do here is reach out to the vendor or software maintainer and ask for a deployment guide for that software, or at least documentation on how to silently install.

Convert PowerShell script to exe

I'm looking to convert a PS1 file to an .exe file so I can roll it out to less technical users.
I believe it'll be much easier for them if all they need to do is double-click it vs explaining how to run through PowerShell.
How can I achieve this?
Use PS2EXE instead of this online tool that forces you to upload your script and creates a security breach if you have confidential information inside your script.
There is a GUI mode available; to learn more, see the GitHub repository.
You have a few paid and unpaid solutions. I agree with last answer, do not use online tools unless you are sure they are not keeping your code and you trust them.
There are two free ones that come to mind:
PS2EXE-GUI
PS1 To EXE by F2KO (Make sure t it is the local install command line interface, not the web one)
The Paid ones are:
PowerShell Studio
ISE Steroids 2.0 Enterprise
Noted: I think the free ones should be fine for most uses. I do like PowerShell Studio though.
An update to PS2EXE tool (all versions are open-source):
The original script comes from Ingo Karstein, but the development seems to have halted in 2017. You can find his blog here, and his contribution on Microsoft Technet's forums here.
Markus Scholtes has continued the script's development, adding some useful features. You can find his post on Microsoft Technet here, and github repository here.
Powershelling's answer point you to a fork of Markus' project by Stuart Dootson (here and here), which is less maintained. The obvious difference would be the "Added support for scripts that require elevation. This inserts a suitable manifest into the executable produced by the tool. that .exe files built with his version of the script require elevation".
I'd recommend checking out Markus Scholtes' version, but beware (!) (README.md on 3rd Nov 2020):
Attention: Incorrect virus detection of PS2EXE
Some stupid idiot seems to have abused PS2EXE to compile his computer virus script. As a result, a rapidly growing number of virus scanners recognize programs created with PS2EXE as malicious programs and delete them.
There is only one hope to save the PS2EXE project: Please send your (harmless) programs created with PS2EXE via the web forms from the virus scanners' vendors for reporting false positives (I've already done it with some of them, please use only the false positive page)!
If this is not successful, then I will have to quit PS2EXE as nobody can use it anymore.
Thank you for your support

winzip cli how to suppress evaluation warning?

In my product we are using winzipCLI to zip packages. After a long time i seeing an issue not able to resolve it. A evaluation acceptance message is thrown in CLI which is causing my build system to fail. I found the issue by manually running the winzip cli and below the evalution question asked ....How to suppress it? Any options? or any script? or...etc?
C:\Program Files\WinZip>WZZIP.EXE -a test.zip *.txt
WinZip(R) Command Line Support Add-On Version 4.0 32-bit (Build 10480)
Copyright (c) 1991-2013 WinZip International LLC - All Rights Reserved
THANK YOU FOR TRYING WINZIP COMMAND LINE ADD-ON
This is a fully functional version for EVALUATION USE ONLY
This notice is not displayed with registered Standard and Pro editions of
WinZip.
Please go to www.winzip.com to order WinZip.
(press any key to continue (Ctrl-C to quit))
Yes, buy a license for WinZip.
(Stack Overflow is not the place to ask questions like "How can I avoid paying for this piece of commercial software?" If in fact you have bought a license and you're still getting that message then I apologise for misjudging you and you should take it up with WinZip tech support.)

Redistributing PostgreSQL Command Line Tools

Does anyone know if there is a proper way to redistribute the PostgreSQL command line tools, such as pg_dump and pg_restore?
For Windows, the binaries are available in the 'One-Click' installers, but I'm only looking to redistribute the command line tools for automating backups and restores, so that > 100MB payload is completely overkill.
I could obviously just try and copy the entire bin folder, but I'd prefer knowing exactly what I need.
There is no official client-only distribution. When this question comes up on the mailing list the usual answer is that you should grab the .zip distribution then use Dependency Walker (depends.exe) to determine which DLLs are required by the binaries you wish to distribute, bundle them up and include them in your app.
The PostgreSQL server (postgres.exe) uses dlopen() / LoadLibrary() very heavily so you can't rely on depends.exe for it. Thankfully the client side is simpler and you can just use depends.exe to determine what it needs. There are no additional scripts, dlopen'd libraries etc required by pg_dump, pg_restore or psql.
I've never been entirely satisfied with that answer, but I've never wanted to improve it enough to want to mess with the packaging either. It doesn't help that EnterpriseDB's one-click installer is closed source, so I can't modify it to offer a client-only minimal package. For now, extracting the executables and associated libraries is the best you're going to get.
If you think about it, it's not really that different to what'd happen if you compiled it yourself. You'd still be pulling out only the client bits to distribute.