For our latest release, we want our customers to only download an upgrade patch of our applications and instead of uninstall and re-install all the process will be done by upgrader patch but I know nothing about this even after I googled it! Where to start guys? Note that our new release includes database upgrade as well as production code!
We are using .NET 4.0, Visual Studio 2010, C# and VB.NET in our software.
I might be a bit late to the party but hopefully this post helps anybody else who is looking for this answer.
You can use the 'Patch Design' method to create patches. You can find it in Installation Designer tab under Media.
For this you will need the latest build (msi/exe) and one or more previous build(s). In 'Patch Design' add a new patch configuration. From there you can specify latest version and previous version(s) of your setup file. If you are using Express version then you will need uncompressed build for both latest and previous. If you have Professional version then it can decompress it for you.
After this, just hit Build Patch and it will create a update.exe with only differences between latest and previous builds. It is quite smart in a way where it will only add the binary differences.
Good luck.
Related
I used Flexera's InstallShield Express to bundle my software into a Setup.exe file. I included .NET Framework 4.7.1 redistributable (2. Specify Application Data > 'Microsoft .NET Framework 4.7.1 Full' is checked and highlighted in middle panel, and says 'installed locally' > 'Install before feature selection' is checked on bottom panel).
I went onto my fresh installed Windows 7 computer with no internet access and attempted the install. It gave me the error:
"An error occurred while downloading the file
http://saturn.installshield.com/is/prerequisites/Microsoft.NET Framework 4.7.1 Full.prq"
I then connected to the internet, and it was able to go through. I looked for a text of the prq. There may be a way to find it thru InstallShield, but I found a forum post from community.flexerasoftware.com asking about 4.7.2.
The two parts of interest are:
<file LocalFile="<ISProductFolder>
\SetupPrerequisites\Microsoft .net\4.7.1\Full\NDP472-KB4054530-x86-x64-AllOS-ENU.exe"
URL="https://download.microsoft.com/download
/6/E/4/6E48E8AB-DC00-419E-9704-06DD46E5F81D/NDP472-KB4054530-x86-x64-AllOS-ENU.exe"
FileSize="0,0"/>
and
<properties Id="{BFF4A593-74C5-482F-9771-7495035EBBB0}"
Description="This prerequisite installs the .NET Framework 4.7.2 Full standalone package."
AltPrqURL="http://saturn.installshield.com/is/prerequisites
/Microsoft .NET Framework 4.7.2 Full.prq"/>
The fact that the file reads '4.7.1' is another can of worms I need to explore (not in the scope of this question). I'm assuming all prq files have a common structure. I believe that this information tells me the URL (download.microsoft.com) was skipped and the AltPrqUril (saturn.installshield.com) was used during my install. But even if the URL were not skipped, it would still looking at a page on the world wide web.
Question
Why do I need internet connection? The 'Full' version is specifically different from the 'Web' version in that you do not have to connect to the internet to install it.
Avoiding Internet Connection Requirement
To embed runtimes in the setup.exe and hence avoid the need for
an Internet connection, you can try to set the option "Extract
prerequisites from setup.exe" in the setup.exe tab in the
Release view as illustrated in the second screenshot below.
Then you select the "Full" .NET Framework version in the
Prerequisites View. Not 100% sure what features the Installshield Express version has vs the full versions. The below is from the Premier version.
You can check your finished bundle, by doing a "setup.exe /a" -
from a command prompt - on the final
setup.exe and extract the files to see what is really included in the bundle.
Quick Reminder
I think you should generally call Installshield support if you have a support agreement, or check their own community at: https://community.flexerasoftware.com.
Just mentioning this since people sometimes forget to check whether they have support agreements and support & community might resolve your problems in 5 minutes - if you don't get answers here.
Release Wizard
However, just shooting from the hip I would propose that the cause could be this setting that is available in the Release Wizard in the regular version of Installshield 2018. It is probably similar in the Express edition:
In the Release property pages, it seems this setting is under the Setup.exe tab and it is called "Installshield Prerequisites Location":
[
Prefer Download
For what it is worth I really dislike old, outdated runtimes included in bloated setups. This has to do with my experience as a corporate deployment specialists where much of the day consisted of extracting outdated runtimes from vendor packages.
I would always suggest you download very common runtimes from the web, or allow them to be installed via Windows Update. That includes basically all Microsoft runtimes.
I only like to bundle runtimes if they are 1) Rare and special, 2) Stable and well tested, 3) Small and well-behaving. Even then I would prefer them downloaded and installed separately - to allow security fixes to be installed without rebuilding your whole setup - you just put up the new runtime version on your server (marketing will want a new build for physical release - that is just added risk if you ask me).
War story: the SOAP merge module - back in the day - almost destroyed my package with global deployment scope. Deployment errors quadrupled. Prerequisites can really ruin your work, and you will face little understanding for the problem seen. Try to make it clear what breaks and why. And get rid of all prerequisites you can (pie-in-the-sky thinking, I know). Certain runtimes are unavoidable of course. I just ramble on :-).
At NuGet when I try to install MvcScaffolding, by typing:
Install-Package MvcScaffolding
I am getting this error
Set-DefaultScaffolder : Cannot get an instance of EnvDTE.DTE
Is it happening because of this new scaffolding engine in Visual Studio 2013 ?
I emailed Scott Hanselman about this a few weeks back. Here's his response:
We've found out what's up and we are going to release a fixed version, although we're taking Scaffolding in a new direction with VS2013 we still want this to work. Thanks for finding this bug.
So I'd keep eyes peeled for a new release of MvcScaffold that will hopefully resolve this. In the mean time, there are new features for VS2013 that take scaffolding in a much-improved direction, so you may want to investigate those.
Edit: There's a new package available (make sure to run VS2013 as admin to get it to work):
Install-Package MvcScaffolding -Version 1.0.8-vs2013 -Pre
I came across this same bug in VS2015. I pulled the source, fixed the bugs, and uploaded new NuGet packages with linked dependencies. The 3 new packages are:
MvcScaffolding.VS2015
T4Scaffolding.VS2015
T4Scaffolding.Core.VS2015
If you simply install the MvcScaffolding package, the other packages will be pulled through. Hope this helps someone else.
Cheers.
I found that I had to go into my .\packages folder (for the solution) and manually delete all MvcScaffolding and T4Scaffolding package folders (I have the NuGet "restore packages" feature enabled that, I thought, would take care to restore anything that I should not have deleted, plus I made a backup).
After that, antinescience's Install-Package command for vs2013 worked fine, and so did the "Scaffold Controller ..." to scaffold an MVC5 controller.
Just a quick update, back on time when I wrote this question Visual Studio 2013 was still in Release Candidate. Now, 8 months later, Microsoft has just released Visual Studio 2013 Update 2 and since then everything is working well with MVCScaffolding.
I've test it in Windows 8 and 7. In Windows 7 it was necessary to install
Windows Management Framework 4.0 before.
I have got a project for Installshield.
It has an application to which we need to package. But the challenge is currently they are using the
Installshield professional edition 6.3, and all the process are run trough installscripts.
Also they are using some scripts to upgrade the package every month whenever there is some upgrade.
The files will copy from the server to the location and build.
To the same application, now we need to add some customization, which does not affect their previous
behaviour of the application. Every month they need to upgrade the package without actually repackaging
or upgrading through GUI and which should be done through scripts.
How do we actually handle this case. When we does not support Installshield professional edition 6.3
anymore.
And that package needs to work in all operating systems from Windows 95.
I see that this question has been up here for awhile, but I will answer it just in case it helps someone with the same issue.
InstallShield has pretty robust support for upgrading projects created in previous versions.
Your best option is to purchase the latest version of InstallShield and upgrade the ISM (InstallShield Project File). This process will create a backup of your previous Installer project. The upgrade should import the project correctly as an InstallScript project (rather than an MSI flavor of project).
Once you finish upgrading your ISM project file from InstallShield 6.3 to the latest version, you should be able to edit the InstallScript rul files from within the InstallShield IDE just as you did previously with InstallShield 6.3
The InstallShield IDE has built-in options for supporting a wide variety of Windows operating systems.
Yo,
I've installed the brand new (updated) version of MonoTouch 5.4. And things not compile anymore in my code, call of ctors AVPLayerItem, AVAssetReader and AVAssetWritter... That I do not want to change the next few days. So my question: How to install back MonoTouch 5.3.6?
Cheers, Patrick
Support (support#xamarin.com) should be able to give you links to download previous beta versions.
If you want a stable version (MonoTouch 5.2.13 for instance), you can download it yourself from your Xamarin Store account.
I want to upgrade my MonoTouch installation from 3.2.6 to the latest 4.0.3 installation, but I'm tentative about it so I want to be able to safely go back to 3.2.6 in case things don't work out in 4.0.3. What's the best way to do this?
If I backup my /Developer/MonoTouch folder, install 4.0.3, and then restore my old /Developer/MonoTouch folder, will I have a happy 3.2.6 installation again?
Do I even need to bother with this? Can I instead just run the 3.2.6 installer again and that'll get me back to a happy 3.2.6 installation again?
Just keep your previous installer for 3.2.6 around. If you want to go back to 3.2.6, you just install it again.
OS X is kind of dumb, there is no concept of uninstalling things. You just install again over top of it.
PS - I would not even mess with it. There were so many bugs in 4.0.3, I found it unusable. You might also want to read up on it, but Novell has laid off most of the MonoTouch team. Miguel de Icaza is starting Xamarin b/c of this, I believe.