I have a PHP web app that i would like to be able to ship as easily as possible. Some of the things it does are as follows:
shell_exec()
to execute windows executablesmove_uploaded_file()
to move a file to a network folderNow these all require special things to be checked during manual installs such as the App Pool's user permissions on accessing network folders, creating files ect. A process that can be long and arduous. Normally this is the process i go through:
So given that there is a long list of steps needed to install my app. My question is, is there a more efficient way to go about this? given that there are so many things to do. Can we create an MSI installer application or something similar?
Yes, all these steps can be automated. I would use a PowerShell script to perform all those actions.
Writing a Windows program as a MSI is another option, the tool depends on the available skill-sets in your environment.
To do this is not done in a few hours, you may need to learn about how to do the various things and then there will be a lot of testings. Different Windows versions are configurations have to be supported.
I went through such a process and it took much longer than planned, so you have to think about who much such a script would be worth for you.
If you only do a handful of installations every year it may not be worth investing the time creating the script.
You may be able to use PowerShell DSC but you still have to learn, write configuration and test things.