badhot
Posts: 4
Joined: Mon May 27, 2013 8:55 am

how to make a patch

hi,all.
I made an install package using wise installation ,Now,I want make a patch using advanced installer,
just add some files,a.txt,b.txt to the program that user installed when user run the patch,which a.txt should be put under the file folder of fml,b.txt under fml2.
and if .net framework is not installing on the user's machine ,it should installed first.
how can i make a patch with advanced installer.

thanks.
badhot
Posts: 4
Joined: Mon May 27, 2013 8:55 am

Re: how to make a patch

no one else answer?
Dan
Posts: 4529
Joined: Wed Apr 24, 2013 3:51 pm

Re: how to make a patch

Hello and welcome to Advanced Installer forums,

Thank you for your interest in Advanced Installer.

Sorry for the delayed reply. A patch contains only the differences between two version of the product. That means that through a patch you can update something which is already installed. So, by default a patch cannot have a prerequisite package.

Although it is not recommended, here's what you can try instead of a patch:
- create a new project and disable its "Register product with Windows Installer" option from the Product Details page
- implement the ”How do I install some files in a folder of a previously installed application?”article.
(you can use Component Location to retrieve the exact application folder)
-place your files in "Property Based Folders", a folder which contains your files that you want to update.

This way the files will be copied in the folders only if they are found on the target machine. Also, the version number will not be increased for your application in the Control Panel.

Now, you can add your prerequisite from the “Prerequisites” page selecting the .NET Framework.

Another approach can be the following:
You can try to import in Advanced Installer your current MSI installation package created with WISE. Then, you can create an upgrade image starting from this project by adding the files that are changing. Then you can take a look on our Patch authoring tutorial. Please keep in mind that when you authoring a patch package you have a number of restrictions.

You have several advantages because you have your updates in the Control Panel but you have a major disadvantage, you cannot have a prerequisite package.

Please note that Advanced Installer strives to respect all the rules, but due to the involved complexity, success is not always guaranteed. Because of this it is recommended to use patches with the project created by Advance Installer.

Best regards,
Dan
Dan Ghiorghita - Advanced Installer Team
Follow us: Twitter - Facebook - YouTube
badhot
Posts: 4
Joined: Mon May 27, 2013 8:55 am

Re: how to make a patch

anyway,thank you Dan.

although,i can't understand of implementing the ”How do I install some files in a folder of a previously installed application?”article.
Dan
Posts: 4529
Joined: Wed Apr 24, 2013 3:51 pm

Re: how to make a patch

Hello,

Windows Installer allows you to search for a file, component, registry key, folder or INI key on the target computer. The result of your search will be placed in a Property and it can be used in various Custom Actions or Conditions.

Let's have an example of how to use the “Search” option in Advanced Installer.
Suppose we want the path for a specific folder(e.g. A folder with the name ”testFolder” on desktop).
You can use the wizard to set up a search step-by-step. In order to achieve that you can go in the “Search” page, and use the [ New Search Wizard ] toolbar button. Use the “Search for a folder”. Notice that, by default, the property that you can use to retrieve the result of the search is “RESULT_PROPERTY”. Also notice this is a “Public Property” (contain only upper-case letters in its name).
In the next window stage in the field “Enter the name of the folder to search for:” you can use use “testFolder”(this is the name used in this example). Supposing we don't know where this folder has been created, you can use the “On all fixed drives” option. Another option you can modify is “Select how deep in the directory structure should the search go”, where “Depth” is the field which specifies how deep within the folder's subdirectories the search will go.

You can test your search now, or you can test it anytime selecting your search and use the “Test Search” toolbar button.

Now, you can go in the “Files and Folders” page and add a property based folder using the [Property Based] toolbar button and select your property for this folder(in our case will be "RESULT_PROPERTY").
You can select this folder(its name by default is “RESULT_PROPERTY” - the name of the property used) and add a file using the “Add Files” toolbar button.

As a short review of what we did is :
  • -we have a search test case for a folder(we created a test scenario where the folder's name is “testFolder” and we have created on the desktop)
    -the path for that folder will be stored in the public property(by default is RESULT_PROPERTY)
    -the path to that folder will be used in a property based folder
    -we added a file in the property based folder
    -if that folder is found, the file will be installed in the folder test scenario .
If you have any doubts feel free to ask.

Best regards,
Dan
Dan Ghiorghita - Advanced Installer Team
Follow us: Twitter - Facebook - YouTube
badhot
Posts: 4
Joined: Mon May 27, 2013 8:55 am

Re: how to make a patch

Thank you very much for your warm help! Very thankful!
Dan
Posts: 4529
Joined: Wed Apr 24, 2013 3:51 pm

Re: how to make a patch

You're welcome. I'm glad you got this working.

Best regards,
Dan
Dan Ghiorghita - Advanced Installer Team
Follow us: Twitter - Facebook - YouTube
hgxu2013
Posts: 28
Joined: Wed Dec 11, 2013 1:50 am

Re: how to make a patch

Hi There,
I have similar issue as the user. However, in my case, we have been deploying patches using PowerShell/zip and others third party application. I would say is inhouse deployment script. We would like to move the patching process toward advanced installer. There are so many benefits by making this decision. The first patch using Advanced installer would be a bit challenging. However I would say advanced installer has a lot to offer. Also the support team is very technical and responsive. I will confident that we will be able to do it.
I have a script to figure out the delta of the target installation vs. the changes we are going to create as a patch. It is very small changes each time. But it is involved in various folders, and web.config files to be updated on the target machine. Also, we required to always backup a full version, and the previous patch, before applying latest patch, in case its needs rollback. User has option to decide to go with the rollback of full version or previous patch. Our problem right now is, the full version is huge. It takes very long time to install. We would like to save time. So, the patch installer needs to know what folder(s) need(s) to add new files, what folders for just update the newer changes made, and what folders that need to remove existing files.
currently, the way we determine the files being add/modified/delete is coming from a release note in XML format. The release note is used for rollback. I would like your recommendation the best and easy file type that is for lookup and extract the add/modified/delete to apply in the installer package.
Please advice.
Thanks again for your great support.
hgxu2013
Posts: 28
Joined: Wed Dec 11, 2013 1:50 am

Re: how to make a patch

Hi Again,
I have a few more questions to my last post question below:
Due to the product is so huge, we would like to continue rolling out patches. However, I would like your advice as what method is the best approach to apply, upgrade or patch.
As, I mentioned to you in my last post, we are currently using in house tool to rollout patches. We just add/modify/delete files on the target machine based on a release note for each patch. The same way with the rollback, uses the release note to determine it.
We have no way to identify what patch number is currently patched on the target machine, we go by date and time stamp of the package. If let say I am using Advanced Installer patching feature, will it work in our current environment, since there is no "Register Product with Windows Installer" initially? I would like to Register Patch with Windows Installer. So it can be display in Control Panel, it is nice to have, but not mandatory. Also, Let say if this approach doesn't work, I am left with Upgrade feature. Do I have to disable "Register Product with Windows Installer" in order to work? Regarding prerequisites, as right now, no. However it can happen in the future. The product is ColdFusion.
I hope to be able to present to my management pros and crons of approaches you will have recommendation to me.
Thanks in advance,
Amanda
Dan
Posts: 4529
Joined: Wed Apr 24, 2013 3:51 pm

Re: how to make a patch

Hello Amanda and thank you for your interest in Advanced Installer,

Please keep in mind that a patch contains only the differences between two version of the product and can be created only between two MSI installation packages. Also, when creating patches you should make sure that all patches rules are fulfilled.

Considering your scenario, the recommended way in your case is to release a major upgrade of your application which is build with Advanced Installer. A major upgrade is essentially the removal of an older product which is replaced by a newer product. In Advanced Installer the upgrades can be configured from the UpgradesView.
Basically, the upgrade process performs the following actions:
  • -Detect and completely remove older products.
    -Install the new product.
Also, you can take a look on the Upgrade an older version of the package article which may be useful to you.

Please let us know if you have other questions.

Best regards,
Dan
Dan Ghiorghita - Advanced Installer Team
Follow us: Twitter - Facebook - YouTube
hgxu2013
Posts: 28
Joined: Wed Dec 11, 2013 1:50 am

Re: how to make a patch

Hi There,
I really like your recommendation. However, the product is already so huge that it will be affecting the installation time. If it is only one time to be done, I am sure our management will consider it. Do you happen to know roughly how long it will take if it is 50 MBytes, roughly.
Thanks
hgxu2013
Posts: 28
Joined: Wed Dec 11, 2013 1:50 am

Re: how to make a patch

Hello Dan,
I double checked with Dev team and it is actually 45 MB, now. We are hoping to be able to cleanup and reduce the size to 30 MB, at the minimum. In anyway, it seems to me the management likes the idea.
YOur statement "Please keep in mind that a patch contains only the differences between two version of the product and can be created only between two MSI installation packages", we understood the differences of two MSI advanced installer can generate a patch for us as the difference between two MSI’s. Correct? If it is, this really simplifies the patch process greatly.
hgxu2013
Posts: 28
Joined: Wed Dec 11, 2013 1:50 am

Re: how to make a patch

Hi Dan,
BTW, just a quick question, if I have the option to install a full version on a different machine, would you think this is method is much better than upgradeview option?
Thanks,
Amanda
Dan
Posts: 4529
Joined: Wed Apr 24, 2013 3:51 pm

Re: how to make a patch

Hi Amanda,
YOur statement "Please keep in mind that a patch contains only the differences between two version of the product and can be created only between two MSI installation packages", we understood the differences of two MSI advanced installer can generate a patch for us as the difference between two MSI’s. Correct?
Indeed, this is correct. A patch contains only the differences between two version of the product and can be created only between two MSI installation packages. A patch is much smaller than upgrades, as it only contain the diffs between the two versions of the product. However, they can only be installed on computers that have the previous version already installed. Also, when creating patches you should make sure that all patches rules are fulfilled.
BTW, just a quick question, if I have the option to install a full version on a different machine, would you think this is method is much better than upgradeview option?
I'm not sure I fully understand your scenario. Can you please give us more details(maybe exemplify)?

Happy New Year,
Dan
Dan Ghiorghita - Advanced Installer Team
Follow us: Twitter - Facebook - YouTube
hgxu2013
Posts: 28
Joined: Wed Dec 11, 2013 1:50 am

Re: how to make a patch

Hi Dan,
Let me explain to you my last question. Initially, I mentioned to you my huge product currently on a production machine, we would like to just do the patches moving forward, using Advanced Installer. However, to do patching in Advanced installer a proper and best approach, you suggested to do an upgrade first.
My management is ok, if I can install a fresh, full product using Advanced Installer installation on a new machine, which doesn't have the product on the new machine yet. I would like to know if I decided to go with this method, will it be able to figure out the differences in the delta when come to do our first patch in Advanced installer to this new machine. If it is, I have a new question to you. Should I be create a new project using this tutorial url http://www.advancedinstaller.com/user-g ... patch.html?
Please advice.
Thanks again for your quick response.

Return to “Building Installers”