How To Add Files Automatically? - build-process

I'm Using Install shield 2012 Basic MSI Project. We planned to make build automation, I found the solution to trigger install shield build pro-grammatically using "ISCMDBLD"
Challenges,
How to add files and folders into install shield destination folder pro grammatically.
How to compare the files from source location to install shield destination location before triggering build.
Changing package code(we can set release view right,if any other option let me know).
How to add file automatically ? is it possible or not.?

I guess you are using Install Shield with its user interface, if you want to add files programmatically, you may need to write some scripts (batch, python or whatever script), and then call the public API exposed by Install shield to make the whole installer build process automatic.

Related

Can a MSIX package use an external file for user settings?

We are evaluating the migration from our current client/server application to .NET Core. The 3.0 release added the support for WinForms we need for our client, but ClickOnce will not be supported.
Our solution is installed on-premise and we need to include settings (among others) like the address to the application server. We create dynamically ClickOnce packages that can be used to install and update the clients and include the settings. This is working like a charm today. The users install the client using the ClickOnce package and every time we update the software we regenerate these packages at the customer's site and they get automatically the new version with the right settings.
We are looking at MSIX as an alternative, but we have got a question:
- Is it possible to add some external settings files to the MSIX package that will be used (deployed) when installing?
The package for the software itself could be statically generated, but how could we distribute the settings to the clients on first install / update?
MSIX has support for modification packages. This is close to what you want, the customization is done with a separate package installed after you install the main MSIX package of your app.
It cannot be installed at the same time as your main app. The OS checks if the main app is installed when you try to install the modification package and it will reject its installation if the main is not found on the machine.
The modification package is a standalone package, installed in a separate location. Check the link I included, there is a screenshot of a PS window where you can see the install path for the main package and the modification are different.
At runtime (when the user launches the app) the OS knows these two packages are connected and merges their virtual files and registry system, so the app "believes" all the resources are in one package.
This means you can update the main app and the modification package separately, and deploy them as you wish.
And if we update the modification package itself (without touching the main), will it be re-installed to all the clients that used it?
How do you deploy the updates? Do you want to use an auto-updater tool over the internet? Or ar these users managed inside an internal company network and get all the app updates from tools like SCCM?
The modification packages were designed mostly for IT departments to use them, and this is what I understood you would need too.
A modification package is deployed via SCCM or other tools just like the main package, there are no differences.
For ISVs I believe optional packages are a better solution.

How to source control Elasticsearch

I'm just starting work on a website which I want to integrate Elasticsearch into. In my development environment, I will need to install ES so that I and other devs can quickly get started with minimum effort.
We're using ASP.NET for the website (so I know all the devs will be running the website on Windows) and Git for source control.
Previously, on a another project, I have followed the installation guide and simply source controlled the following folders in ES:
/bin/
/config/
/lib/
/modules/
please note, the above folders were for ES 2.x so may slightly differ from 5.x
I then created a simple .bat file which devs run when they start working on the project:
cd %~dp0\elastic\bin\
start elasticsearch
cd %~dp0
All the script does is run ES.
However, I wonder if I should even be source controlling these files. Perhaps it would be better if I had a .bat file which would download a fresh copy of ES when a developer starts work?

Changing Git protocol for RStudio project already under version control in Windows

I love using RStudio for it's built-in integration with version control systems. However with RStudio on Windows is there a way to change the Git protocol from http to ssh or vice versa for a project already under version control without first having to delete and recreate the project?
I might be missing something, but I originally cloned my repo using http which I subsequently found to be a massive pain because every time I want to push project changes to GitHub I have to re-enter my username and password. So I removed the project from version control(Project -> Project Option -> Git/SVN -> Version Control System: none) and then tried to re-add version control hoping to use ssh but it will only allow you to go back to the original protocol you selected when creating the project in the first place.
The only way I have found to change protocol it is to delete the project and then create a new project from GitHub using the correct ssh parameters. I'd really like to be able to change projects version control protocol from http to ssh without deleting and re-cloning first.
Is this possible?
Check out git config and the whole configuration stuff. You can configure several remotes to make the "distributed" aspect of git work.
You can try just copying the whole repository (or just .git/config, keep a copy!) and check what happens with your specific case when you change the configuration. It depends on lots of things that aren't under git's control, like firewall configurations en route, and the configuration on the other end.

Repo from RStudio to Github

I love github and RStudio for workflow. Recently, I've created a project template that makes directories and scripts etc. and would like to create locally and push to github.
In the past I created a repo for a project via https://github.com/ used version control in RStudio to create the local repo and then dump all files I already had there.
This seems wasteful of time. How can one to take the directory/repo that's already in RStudio with a .Rproj file and upload to github with out first creating the shell repo at https://github.com/?
I think this could save time in the workflow.
I thought I could just follow the directions -here- (under Adding version control to a project) to add version control but this doesn't allow me to push to github (nor should it because how does RStudio know which git site you want to push to).
The only way you could create a repository on github directly from your computer, without having to create it with their website first, would be to create a remote branch directly from git on your system. This is possible on some git installation, but not on Github.
However, Github provides an API that allows to create the repository from the command line, via a call to curl for example. You will find information on how to do it in this answer (not tested) :
curl -u 'USER:PASS' https://api.github.com/user/repos -d '{"name":"REPO"}'
git remote add origin git#github.com:USER/REPO.git
git push origin master
But I don't think you will be able to do it directly from RStudio : you will need to put your project under version control, and then to execute the three commands provided in the answer in a shell.
Have you seen hub?
hub create
git push -u origin master
will do the job for you, once hub is configured to access your GitHub account. If you want the project to be called different from the name of the parent directory, use
hub create projectname
The general usage is
hub create [NAME] [-p] [-d DESCRIPTION] [-h HOMEPAGE]
(-p -- private repository), and you can access many more GitHub features with this tool.

How do I download the javascript library for mapstraction v2?

I am setting up a map on a drupal website using the mapstraction module. I am planning to use the 6.x-2.x-dev development branch of mapstraction because I need some of its additional functionality.
In the instructions for installing the module, it says to download the mapstraction v2 library from mapstraction.com Navigating through their site, I found this page:
code.google.com/p/mapstraction/source/checkout which tells you:
Command-line access
Use this command to anonymously check out the latest project source code:
'# Non-members may check out a read-only working copy anonymously over HTTP.
svn checkout http://mapstraction.googlecode.com/svn/trunk/ mapstraction-read-only
I don't understand what command-line access is? I've tried pasting mapstraction.googlecode.com/svn/trunk/ into my browser, and I get a whole directory listing. Do I download each of these files? How do I know what is actually the mapstraction v2 library? Am I going about accessing the javascript library in the wrong way?
They moved to git hub.
You can now just download the zip file from here without a client installed
https://github.com/mapstraction/mxn/downloads
What you need is a Subversion Client. The Apache project maintains a list where you should be able to find a client for your operating system. Once you have a client, you will have to perform the "Checkout" function on the url provided by Google Code. Once you have the directory downloaded by the SVN client, you can look at the examples for proper usage and file inclusion.

Resources