I have 2 msi packages 1 called the core package in which i want the second package to check before installation if the core package is installed, if yes then the installation occurs normally, if not then the second package wont be installed telling me that you need to install the core package first before installing,
just for clarification when installing the core package some files goes to a specific location so i can check the existence of these files in their location when installing the second package if the files exists then install the second package and if not then the second package wont install and say that you need to install the core package first before installing and exits,
Can any one help me please as this is the first time to use install shield,
thanks alot
You can try this:
use a search to detect if the core package was installed
use that search property as a custom launch condition
This way the package installation will stop and show a message if core package was not installed.
Another approach is to add the secondary package as a custom prerequisite for the core package.
Related
I use Windows Application Packaging Project to generate MSIXBUNDLE for my WPF app.
App installed failed with error message: Windows cannot install package xxxxxx_3.8.3.0_neutral~_hijkl because a different package xxxxxxx_3.8.2.0_neutral~_abcde r with the same name is already installed. Remove package xxxxxx_3.8.2.0_neutral~_abcde before installing. (0x80073cf3)
I think the reason is that I signed the new package (3.8,3) with a new EV code signing certificate. Does WAP tool support option to uninstall previous package? Under the project property tab "Debug" ->"Start option", there is a check box for "Uninstall and then re-install my package. All information about the application state is deleted". But enable it does not seem to do the job.
Thanks,
"Uninstall and then re-install my package. All information about the application state is deleted"
I think this option is useful only for debugging purposes. It sounds like an option to remove a previous copy of the package (that has the same version and product name). So, this does not help with removing older versions.
For MSIX packages, you don't top configure anything specific in the package to trigger the removal of a previous version, as you used to do with an MSI. This is handled automatically by the OS.
But the OS needs to somehow understand which package to remove and I suspect the digital certificate is part of that check. Just manually remove the old version, install the new one, and then build a test version (3.8.4) to confirm if the different certificate was the problem.
So I tried to install a package called 'Image Processor' to our Umbraco build which I later found was incompatible. How do I manually remove this package from the build? I've tried removing all mention of 'ImageProcessor' from the Web.config, packages.config etc still no cigar.
This is the error we're getting.
Check in the /bin/ folder for the Image Processor DLL file. If this file is present, I believe that the application is trying to load it. However, this file requires something from Umbraco.Core which isn't there, so it crashes.
If you find the DLL, try deleting it and reloading the application.
Also, I assume you installed this package through Umbraco. In the future I would recommend using NuGet to install packages, as it allows you to add, update and remove packages without running the application (so if you were to get an error like this again, you would be able to easily uninstall the package).
I am working with asp.net core- Visual studio 2015.While accessing my sql database the following error occurs. "Please add the Entity.framework.SqlServerCompact NuGet package to the project". Please let me know how to resolve this issue. Thanks in advance.
Well with ASP.net Core everything is optional and as Nuget packages which means you have to bring them in your project if you want to use them.
If you want to add any Nuget package to your project you just need to open your project json file and add this line into dependencies:
Microsoft.EntityFrameworkCore.SqlServer
Or run npm install in your project directory:
Install-Package Microsoft.EntityFrameworkCore.SqlServer
Then locate your tools section in your project json and add this into it:
"Microsoft.EntityFrameworkCore.Tools.DotNet": "1.0.0-preview3-final"
If you had any problem with the version see if using this version is helping:
"Microsoft.EntityFrameworkCore.Tools.DotNet": "1.0.0-preview2-final"
Reason is this is a known issue you can find here:
https://github.com/dotnet/cli/issues/3742
Check the version in case has changed. For a more detailed instructions look here:
https://learn.microsoft.com/en-us/ef/core/get-started/aspnetcore/new-db
I'm currently working in a work environment where I do not have access to npm / node. The npm download location is actually blocked so I can't get any packages.
I want to build an Angular 2 site. As I can't access npm, I want to use Nuget to get the files. Although I can see the Angular 1 packages, I cannot seem to see any Angular 2 packages. Is there one for Nuget?
Also, is populating the node_module folder and compiling the Typescript the only thing that npm does for Angular? If I can just get a copy of the node_module folder (from outside work) and get TypeScript working in my solution, can I basically bypass the need for npm?
In short; No.
You can see a list of all available NuGet package versions here, with the most recent being 1.5.3.
Even performing a generic search shows most recent versions as 1.5.3.
Sometimes they'll have beta versions of packages available that you can install with a command similar to: Install-Package EntityFramework -Version 6.1.3-beta1 -Pre, but it doesn't appear as if they have created any pre-release packages.
So, as #Michal Dymel mentioned, you could get it from a CDN or some other location.
Today I've faced with a strange behavior of NuGet when installing a package.
A brief description: as a result of my build script there's a NuGet package. I don't change the version each time, so each and every build produces MyPackage.1.0.0.nupkg. As the final step of the build, I push the package to the NuGet server deployed inside the local network.
Now, on a different machine, I run nuget install MyPackage -Source http://myserver/nuget, which obviously installs the NuGet package.
The problem comes into play when I push another update of MyPackage - still of version 1.0.0. When I try to re-install it on client machine, I get the previous version of the package.
I found out it is the local cache to be blamed: if the package was installed, it gets into the local cache and the next time the package of the same version is installed, it is taken from cache. Fair enough!
But, on the other hand, there's a -NoCache option of the nuget install command, and I expect it to ignore the local cache.
However, this is not true. The first time I run it with -NoCache, it updates the cache and installs the true latest version. But, the next time the package is still taken from cache, even with -NoCache option.
Is it expected? Is it because of the version not being changed?
Just in case: all NuGet operations are done with NuGet.exe and from PowerShell session.
UPDATE: I observe strange behavior I can only explain by cache expiration. When the package is cached, all subsequent calls to nuget install pull the package from cache, until some time passes. I didn't notice the exact period, but it's definitely more than an hour. After this, nuget install updates the package in the cache, and the situation becomes the same...
Yan,
I push another update of MyPackage - still of version 1.0.0.
You should not be pushing more than one package with a particular version: packages should be immutable. If you've changed something in the package, increment the build number a.b.C and push a new version of the package.
The behaviour you experience is a side effect of NuGet expecting to be able to cache a given package version essentially indefinitely.
Yan,
NuGet caches the packages it downloads on your local hard drive. For my windows 7 machine the cache is located at C:\Users\jmelosegui\AppData\Local\NuGet\Cache.
So you can delete the nuget package you want to forget from the local cache directory. Then the next time you install the package you will get the lastest version from the server.
BTW: I am agree with #matthew-skelton.
You should not be pushing more than one package with a particular version: packages should be immutable. If you've changed something in the package, increment the build number a.b.C and push a new version of the package.
I hope this aproach fit in your scenario