We have MSI version 12.2.1.0 released and there were new components added in Fix 1 which is now released has 2 components with same GUID. We have identified issue in Fix2 as patch doesn't seem to overwrite/replace the files due to duplicate GUID for the components the feature which is referring the components is getting skipped while installing Fix2.
How to resolve the duplicate GUID issue in Fix2.We cannot go back to fix1 as it is been delivered to customer.
First component
How to safely remove the duplicate GUID to make patch install the feature without skipping.
Log shows
Line 1042: MSI (c) (9C:7C) [11:47:25:815]: SELMGR: Component 'xyz_shortcut18' is registered to feature 'P', but is not present in the FeatureComponents table. Removal of components from a feature is not supported!
ICE warning : unfortunately got ignored while generating patch
warning LGHT1137: Component/#Id='p19.arx' has a #Guid value '{36B8C853-9E9E-48D7-BDCD-E4D6C376B781}' that dupli
cates another component in this package. This is not officially supported by Windows Installer but works as long as all components have mutually-exclusive conditions.
We are using wixout files to generate the transform Pure patch process.
To fix Component Rule violations you need to use a major upgrade that is scheduled very early (after InstallValidate). That will remove the "bad package" before installing the fixed package avoiding the Component Rule violations.
After that, then you can attempt more advanced upgrade/patching scenarios.
Related
I'm trying to create a rabbitmq client for a remote server with react-native. I found multiple packages for that ( react-native-rabbitmq and react-native-amqp ), both of them don't work and give the same error :
A problem occurred evaluating project ':react-native-rabbitmq'.
> Could not find method compile() for arguments [directory 'libs'] on object of type
org.gradle.api.internal.artifacts.dsl.dependencies.DefaultDependencyHandler.
These two are the only packages that give me this error, tried to add and delete other package and that works fine. I also tried to change gradle version to older and newer ones ( also did this with package versions ). Wiping user data from virtual device and created new one didn't work neither. Same with deleting and recreating node_modules.
What am i doing wrong ?
Trying to update my WPF application from the ArcGIS Runtime SDK version 100.6 to 100.11. I used the existing style in the WiX package to update the dll's so that all I had to do was ensure all the shader .cso files were accurate in the Components. Here is the screen shot of my dll's that are configured:
When I try to run the application, I get an error that it cannot access the RuntimeCoreNet100_11.dll. In the Event Viewer I get the following message:
In running the SxsTrace program, for the runtimecoreAssembly, it states the Parser "Did not find manifest for culture Neutral".
Any help here would be very appreciated.
Update
per the instructions given in the comment, i added the manifest file to the dependency components in the component group pictured above. this allowed my app to start, but immediately crashed with a KERNELBASE.dll error. Anyone familiar with fixing those?
Looks like you're missing the manifest files. There should be 4 files to deploy to each clientXX folder: runtimecore.dll, runtimecoreAssembly.manifest, RuntimeCoreNet100_11.dll and RuntimeCoreNet100_11.WPF.dll
I am developing two installers using WIX.
A --> Parent application.
B --> Optional application - but works only if parent 'A' already installed.
Some users uninstalls the Parent application 'A' accidentally, and opening application B is causing issue.
Expectation is, During the uninstall process of Parent application 'A', it has to check for dependent application 'B'. if 'B' exists, then it should warn the user and exit from uninstallation.
I couldn't find a clue how to do this.
Products B[] could install a shared component such as a registry value that indicates a product of type B is installed. Product A could then have an AppSearch/Launch Condition or Type 19 Error custom action that blocks uninstall if that component is found.
But I personally caution against this. Blocked uninstalls and tightly coupled products are harder for users to service. I would rather product B[] simple display an error message on startup that dependency product A is missing.
I have a bundled application say XYZ-1.0.0.1.exe, with applications A-2.2.0.1.exe and B-1.2.0.1.exe bundled in it. So when we install XYZ, we get A and B as well listed in Add Remove Programs. But when I upgrade XYZ-1.0.0.1 with XYZ-1.0.0.2, which has A-2.2.0.1.exe and B-1.2.0.2.exe, so that A is same and already installed and B needs upgrade. I actually skipped the installation of A by making the install condition false, since the same version is already installed and installed only B while upgrading.
After successfully upgrading I am not able to uninstall the application XYZ, it says some package error, also this happens only if the source file used for upgrading is removed from machine.Actually while uninstalling package has to be referred from program cache, I think since we skipped A package cache has problem.
The error that i get is as follows "Prompt for source of container: WixAttachedContainer, path: C:\Users\ABC\Desktop\XYZ-1.0.0.2.exe Failed to resolve source for file: C:\Users\ABC\Desktop\XYZ-1.0.0.2.exe, error: 0x80070002. Error 0x80070002: Failed while prompting for source (original path 'C:\Users\ABC\Desktop\XYZ-1.0.0.2.exe'). Failed to acquire container: WixAttachedContainer to working path: C:\Users\ABC\AppData\Local\Temp{b4a1c780-306c-40f0-83ad7}, error: 0x80070002. "
This error occurs only when i copy XYZ.exe to any path say desktop and after installation(skip installing A or B since same version of A or B bundled is already installed) and delete the setup file XYZ.exe from saved path ie here Desktop. I am not able to uninstall unless i uninstall A or B which was skipped independently.
Also there is another scenario.
I have a bundled application say XYZ-1.0.0.1.exe, with applications A-2.2.0.1.exe and B-1.2.0.1.exe bundled in it. XYZ-1.0.0.2.exe, which has A-2.2.0.1.exe and B-1.2.0.2.exe. Thes in both versions of XYZ we have the same version of A. When i install XYZ-1.0.0.1.exe i skipped the installation of A-2.2.0.1.exe by setting the install condition to false. So XYZ-1.0.0.1.exe is installed and B-1.2.0.1 is also installed. Further when i upgraded to XYZ-1.0.0.2, I need to install all of the A and B. Installation was successfull and now i have XYZ-1.0.0.2, A-2.2.0.1 and B-1.2.0.2. Now if i delete the installation file of XYZ-1.0.0.2.exe from original path and try to uninstall it breaks.
Initially i thought that the package cache issue arises since A-2.2.0.1.exe was not installed along with XYZ-1.0.0.2.exe since i skipped it as it is already available. But after the second scenario got to know that skipping was not the issue. Since in second scenario A-2.2.0.1.exe was installed along with XYZ-1.0.0.2.exe.
The same issue took huge amount of my time as well. Solved it using a work around. Since the issue is "Prompt for source of container: WixAttachedContainer, path: ", You can copy the exe file XYZ-1.0.0.2 while upgrading to program data or some other path with a default name xyz.exe. At first register for ResolveSource event,then add the following code.Assume the copied exe path is c:/XYZ/xyz.exe
private void OnResolveSource(object sender, ResolveSourceEventArgs e)
{
Application.Engine.SetLocalSource(e.PackageOrContainerId, e.PayloadId, "c:/XYZ/xyz.exe");
e.Result = Result.Retry;
}
If anybody know a better answer, please help.
One of our MSI's has started failing with Error 2902. It'll get most of the way through the installation, pop an error box, and then back out the install. We haven't made any major changes to the installer since the last working version.
Running msiexec with logging turned on gives a more informative message:
Action 17:21:22: RegisterProduct. Registering product
Error 2902: Operation ixoFileCopy called out of sequence
This comes immediately after the "WriteRegistryValues" section. Does anyone know what causes the call to ixoFileCopy? I'm guessing the resolution will involve changing the sequence of the "RegisterProduct" step, but I'm not sure what it should proceed.
Thanks for any help!
It turns out that in our case this was happening due to a data file getting too big for MSI to handle without chunking the cab. This thread mentions the issue and one possible workaround.
I had the same error.
Apparently, there were files missing or corrupted (network error?). The problem has been solved after copying the whole folder again.
I've also seen this error when components are provided with blank guids.
e.g.
<Component Id="cmp_MyFailingComponent" Guid="">
<File Id="f_myFile"
Assembly=".net"
Source="C:\Program Files\MyFile.dll"
KeyPath="yes"/>
</Component>
I've seen this error when some of the database column fields are longer than the column width.
I had converted an MSI into an InstallShield project, made a few additions, and built a new MSI - it built without any errors. Installation then failed with error 2902.
The components that failed had component names longer than the allowed 72 characters. (see Component table) The original MSI worked fine despite having the long names, but I guess they caused InstallShield to improperly build the MSI somehow. Not InstallShield's fault, although I do think it should have raised an error during the build.