Correct deployment tool to copy files & run SQL Script - deployment

What would be the best way to deploy upgrades to a piece of software with the following requirements:
The upgrade:
Must be run from a client machine, not a server.
Must Show a dialog to select a network location and copy files to a share.
Must show a dialog to enter SQL Server connection information and the upgrade must connect to SQL Server to run an upgrade script.
Must not change anything on the client machine from which the upgrade is run. (Nothing in Add/Remove programs, registry, etc. I.e. no Windows Installer.)
Must not rely on any additional dlls or frameworks. The user must be able to download a single file and run it from Windows XP SP2 without having to install anything else.
Some things I have looked into:
Batch files (can’t show a dialog to allow the user to enter connection information)
OSQL (can’t show a dialog and can’t copy files)
WiX (runs on top of Windows Installer so it puts things on the client machine from which it is run)
Custom C#/VB app (requires .NET framework)
Winzip/WinRAR (can't show a dialog, can’t run SQL Scripts)

If you don't want to rely on any dlls and frameworks, you should make a native app, this can be, for example, custom winrar sfx (you can run additional scripts after extraction, this can be a batch that executes sqlcmd).

Related

powershell script install function is not executing correctly

I'm new to Powershell but am editing a script to remote into multiple workstations using my administrative credentials and perform installs. I am using an Excel sheet to store the workstation and software data. When I run the script, I choose option 6 for the batch install and enter the path to my excel file.The script successfully remotes into a workstation, cycles through all the software to be installed (on a remote server), and then moves to the next workstation. My issue is that when it cycles through the software, it does not seem to be executing the install-file function. So, nothing is actually installed. Any help is appreciated, I feel like there is something small I'm missing.

How to use Powershell DSC for application installation?

Currently we are having application which will be in DVD. there will be setup.exe and user will click on that and fill the inputs it asks for . Inputs such as path where the application to be installed, SQL server instance where db will be created and port numbers which required to be bind.
I am hearing that Powershell DSC can be used for application deployment. But it is not like running some setup.exe and get some inputs for installation.
Whether Powershell DSC can really be used for application deployment? or is it only for environment preparation?
If it is being used for application deployment , how it is being achieved? Whether the end user told to fill the data in some configurationdata psd1 file manually and then run the script?
You can use the built-in Package resource. However you may want to explore looking at cChoco instead as Chocolatey is much more geared towards software management (application deployment) with handling installs, upgrades and uninstallation.
https://github.com/PowerShellOrg/cChoco
Powershell DSC its for Application Deployment, but... you can use it as an exe, what you can do is create a simple console or windows forms EXE program that embeds the script as a resource and the EXE, upon loading retrieves the script and throws it at a PowerShell runspace to execute.
This is a link about it Make PSexe

Google Cloud SQL Proxy for Windows

Does anyone know from where I can download a Windows version of the Cloud SQL Proxy?
I see on the support page an example command line, but there's no indication of where you could get a binary from. It's not on the Github.
Thanks
There is now a pre-compiled proxy version released, see the doc page for the download link: https://cloud.google.com/sql/docs/sql-proxy .
Note that you must run the program in a command prompt; there's a feature request to allow a web-UI configuration rather than doing a command prompt.
If you want to compile to code yourself from source it is relatively straightforward:
Install Go (use the .msi installer)
Execute the following in a command prompt (requires installation of git):
go get github.com/GoogleCloudPlatform/cloudsql-proxy/cmd/cloud_sql_proxy
The proxy binary should be located in %GOPATH%\bin (you should be able to do cd %GOPATH%\bin in a command prompt and then use dir to see the cloud_sql_proxy.exe file).
It's been a while since I've used windows for development, so let me know if there are any troubles.

How can I use Microsoft installer (msi) to group JBoss and Postgres database and make an .exe file?

I'm completely new to Microsoft installer and have installed advinst.msi, and I'm wondering how to use it.
I have to group Jboss where my Java application is deployed and postgres database and want to create an .exe file and deploy it to clients windows system.
Where the client can run the .exe file and start the application.
The Jboss package you can add a as a prerequisite. This will make Advanced Installer to install it when you install your application, see the link from above.
To deploy a database you have two options. Either you execute an SQL script that creates and populates it, as in this SQL scripts execution tutorial, or you deploy directly the binary files of your database, by placing them in the target folder from Files and Folders page, as you do with a normal file. The second option will make your installer to copy the files into the desired folder upon installation, so you database manager/explorer can access it.
To have all this bundled into a single executable you need to go to Media page and set the package output type to "Single setup EXE". From there you can also customize the EXE name, icon and output folder.

Need Help Writing a multiple program installer that gets installer from a webserver

Okay, I am trying to write an installer that installs multiple programs. The installer needs to be able to either get the files from a web server, or be able to package the files into a single installer file.
The end result I am looking for is a user hits a webpage, they can click a link to download a single installer file and the installer goes ahead and installs each of the programs. Quiet installations would be preferable but not absolutely necessary. I am trying to make this as user friendly and idiot proof as possible.
Grabbing the installers for each program from a web server would be preferable so it always grabs the latest version and I will not have to tweak the installer script each time the programs are updated.
I have looked into NSIS and MSI, and neither seem to be able to do what I need. I have entertained the idea of using Java Web Start to run a Java program that can install everything, but I am not sure the plausibility of that. If that is possible, then the user would not even need to run a file the Java Web Start would just take care of everything.
Perhaps Ninite will help.
If not, there are two possible solutions:
You can try using a MSI wrapper which installs the applications as prerequisites or through custom actions. It's dirty and complicated, but MSI is a standard.
You can write your own application which handles the installers. This is most likely the best approach.