Already Installed Error Message not showing - dialog

I am building an MSI with custom dialogs, but I am not customizing the Welcome Dialog. I have a valid Product ID and Upgrade ID and AllowSameVersionUpgrades is also not there. The following is the UI code, which is being referenced in my Product.wxs.
<?xml version="1.0" encoding="UTF-8"?>
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
<Fragment>
<WixVariable Id="WixUIBannerBmp" Value="Images\Banner.bmp" />
<WixVariable Id="WixUIDialogBmp" Value="Images\dialog.bmp" />
<UI Id="CustomUI">
<TextStyle Id="WixUI_Font_Normal" FaceName="Tahoma" Size="8" />
<TextStyle Id="WixUI_Font_Bigger" FaceName="Tahoma" Size="12" />
<TextStyle Id="WixUI_Font_Title" FaceName="Tahoma" Size="9" Bold="yes" />
<Property Id="DefaultUIFont" Value="WixUI_Font_Normal" />
<!--Standard Dialog References needed to compile-Starts-->
<DialogRef Id="WelcomeDlg" />
<DialogRef Id="DiskCostDlg" />
<DialogRef Id="ErrorDlg" />
<DialogRef Id="FatalError" />
<DialogRef Id="FilesInUse" />
<DialogRef Id="UserExit" />
<!--Standard Dialog References needed to compile-Ends-->
<DialogRef Id="CustLicenseAgmtDlg"/>
<DialogRef Id="InstallDlg"/>
<Publish Dialog="ExitDialog" Control="Finish" Event="EndDialog" Value="Return" Order="999">1</Publish>
<Publish Dialog="WelcomeDlg" Control="Next" Event="NewDialog" Value="CustLicenseAgmtDlg">NOT Installed AND NOT PATCH</Publish>
<Publish Dialog="CustLicenseAgmtDlg" Control="Back" Event="NewDialog" Value="WelcomeDlg">1</Publish>
<Publish Dialog="CustLicenseAgmtDlg" Control="Next" Event="NewDialog" Value="BrowsePathDlg">1</Publish>
<Publish Dialog="BrowsePathDlg" Control="Back" Event="NewDialog" Value="CustLicenseAgmtDlg">1</Publish>
<Publish Dialog="BrowsePathDlg" Control="Next" Event="NewDialog" Value="InstallDlg">1</Publish>
<Publish Dialog="InstallDlg" Control="Back" Event="NewDialog" Value="BrowsePathDlg">1</Publish>
</UI>
<InstallUISequence>
<Show Dialog="WelcomeDlg" Before="ProgressDlg">NOT Installed OR PATCH</Show>
</InstallUISequence>
<UIRef Id="WixUI_Common" />
<UIRef Id="WixUI_ErrorProgressText" />
</Fragment>
</Wix>
First time, the installer runs fine and installs the files. But from the next time, it is not showing the error that, it is already installed. Rather it jumps from the first to the last screen in a flash. But if I rebuild this MSI project in VS and run the new installer, it shows the error. I am not sure what am I doing wrong. Can anyone please help?

You are confusing what 'being installed' means.
You explicitly have a condition on showing your WelcomeDlg of NOT Installed OR PATCH this means you'll never show your WelcomeDlg when your product is already installed. "Installed" in this case is the special property that is set when this product is already installed.
The confusion is probably around "this product". What this means is that the installer with the same product GUID is already present on the system.
I'm guessing you have <Product Id="*"> in your installer. When you rebuild you get another Product GUID so when you run that new installer you built, even though it has everything else exactly the same as your old installer, the Product GUID is different. In Windows' eyes, this is a completely separate product so it will not set the "Installed" property and you'll show your welcome dialog. Since you, I assume, have some property that is set when your product is installed, it will show your "Already installed" error.
If you set your display condition to just 1 I think you'll get the behaviour you are expecting.
<InstallUISequence>
<Show Dialog="WelcomeDlg" Before="ProgressDlg">1 AND NOT REMOVE~="ALL"</Show>
</InstallUISequence>
I added the AND NOT REMOVE~="ALL" becuase I'm not too sure what will happen if you try to uninstall your product without that there. I think it would show the welcome dialog when you uninstall maybe? You'll have to test it with and without the extra AND on the dialog condition.
I think you should re-evaluate whether or not this is actually what you want to do because this seems kind of a weird behaviour to implement in your installer. It should already know its installed by default.

There are 4 elements that control this behavior
Product Id
Product UpgradeCode
Product Version
MajorUpgrade
If you want your installer to correctly block if it's version is installed (and replace itself if you are installing a new version) then you need those values to look like this
Product Id = * - essentially different each time you build the installer
Product UpgradeCode = Same GUID each time - use uuidgen to generate a guid and hardcode this into your element
Product Version = a Major.Minor.Revision version number set appropriately
<Product Id="*" UpgradeCode="guid" Version="1.0.1"
A MajorUpgrade element exists
<MajorUpgrade AllowSameVersionUpgrades="no" DowngradeErrorMessage="A later version of [ProductName] is already installed. Setup will now exit." />
With those elements set, once 1.0.1 is installed, future attempted installs (even if you have rebuilt the installer) will fail.
Bumping the version number to 1.0.2, rebuilding the installer, and running the install will result in 1.0.1 being uninstalled, and 1.0.2 being installed.
Note that you can set the "AllowSameVersionUpgrades" to "Yes" to allow the same version to be "reinstalled" over the existing one

Related

Azure Devops Pipeline build fails Could not resolve this reference Could not locate the assembly

First time using the Azure Devops and the first pipeline I set up keeps on failing. I have a project created in VS 2019 to test the new Xero Oauth 2.0 implementation. I have installed the Xero.NetStandard nuget packages and all other nuget packages it requires. Everything is building fine on my work machine.
I then checked-in all my source code items in our Azure Devops, then created a pipeline to test if the solution will build.... guess what it failed.
I've got a whole heaps of warnings saying that the dlls for Xero, basically all dlls installed on my project when I installed Xero.NetStandard nuget packages cannot be resolved because they are not on the disk.
I was under the impression that the Nuget restore part of the pipeline is responsible for making sure all these nuget packages will be installed in the build agent. The nuget restore part of my pipeline says "All packages listed in packages.config are already installed."
So I am lost why these warnings are appearing. Am i missing a step in building the pipepline?
Would really appreciate any thoughts and help. Thank you.
These are some warnings I am receiving which in turns create errors on the build.
C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\MSBuild\Current\Bin\Microsoft.Common.CurrentVersion.targets(2182,5): warning MSB3245: Could not resolve this reference. Could not locate the assembly "IdentityModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=e7877f4675df049f, processorArchitecture=MSIL". Check to make sure the assembly exists on disk. If this reference is required by your code, you may get compilation errors. [D:\a\8\s\$(SourceDir)\XeroIntegration\XeroIntegration\XeroIntegration.vbproj]
C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\MSBuild\Current\Bin\Microsoft.Common.CurrentVersion.targets(2182,5): warning MSB3245: Could not resolve this reference. Could not locate the assembly "JsonSubTypes, Version=1.5.2.0, Culture=neutral, processorArchitecture=MSIL". Check to make sure the assembly exists on disk. If this reference is required by your code, you may get compilation errors. [D:\a\8\s\$(SourceDir)\XeroIntegration\XeroIntegration\XeroIntegration.vbproj]
C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\MSBuild\Current\Bin\Microsoft.Common.CurrentVersion.targets(2182,5): warning MSB3245: Could not resolve this reference. Could not locate the assembly "KellermanSoftware.Compare-NET-Objects, Version=4.57.0.0, Culture=neutral, PublicKeyToken=d970ace04cc85217, processorArchitecture=MSIL". Check to make sure the assembly exists on disk. If this reference is required by your code, you may get compilation errors. [D:\a\8\s\$(SourceDir)\XeroIntegration\XeroIntegration\XeroIntegration.vbproj]
C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\MSBuild\Current\Bin\Microsoft.Common.CurrentVersion.targets(2182,5): warning MSB3245: Could not resolve this reference. Could not locate the assembly "Microsoft.Extensions.Configuration, Version=3.1.8.0, Culture=neutral, PublicKeyToken=adb9793829ddae60, processorArchitecture=MSIL". Check to make sure the assembly exists on disk. If this reference is required by your code, you may get compilation errors. [D:\a\8\s\$(SourceDir)\XeroIntegration\XeroIntegration\XeroIntegration.vbproj]
C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\MSBuild\Current\Bin\Microsoft.Common.CurrentVersion.targets(2182,5): warning MSB3245: Could not resolve this reference. Could not locate the assembly "Microsoft.Extensions.Configuration.Abstractions, Version=3.1.8.0, Culture=neutral, PublicKeyToken=adb9793829ddae60, processorArchitecture=MSIL". Check to make sure the assembly exists on disk. If this reference is required by your code, you may get compilation errors. [D:\a\8\s\$(SourceDir)\XeroIntegration\XeroIntegration\XeroIntegration.vbproj]
C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\MSBuild\Current\Bin\Microsoft.Common.CurrentVersion.targets(2182,5): warning MSB3245: Could not resolve this reference. Could not locate the assembly "Microsoft.Extensions.Configuration.Binder, Version=3.1.8.0, Culture=neutral, PublicKeyToken=adb9793829ddae60, processorArchitecture=MSIL". Check to make sure the assembly exists on disk. If this reference is required by your code, you may get compilation errors. [D:\a\8\s\$(SourceDir)\XeroIntegration\XeroIntegration\XeroIntegration.vbproj]
C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\MSBuild\Current\Bin\Microsoft.Common.CurrentVersion.targets(2182,5): warning MSB3245: Could not resolve this reference. Could not locate the assembly "Microsoft.Extensions.DependencyInjection, Version=3.1.8.0, Culture=neutral, PublicKeyToken=adb9793829ddae60, processorArchitecture=MSIL". Check to make sure the assembly exists on disk. If this reference is required by your code, you may get compilation errors. [D:\a\8\s\$(SourceDir)\XeroIntegration\XeroIntegration\XeroIntegration.vbproj]
C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\MSBuild\Current\Bin\Microsoft.Common.CurrentVersion.targets(2182,5): warning MSB3245: Could not resolve this reference. Could not locate the assembly "Microsoft.Extensions.DependencyInjection.Abstractions, Version=3.1.8.0, Culture=neutral, PublicKeyToken=adb9793829ddae60, processorArchitecture=MSIL". Check to make sure the assembly exists on disk. If this reference is required by your code, you may get compilation errors. [D:\a\8\s\$(SourceDir)\XeroIntegration\XeroIntegration\XeroIntegration.vbproj]
C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\MSBuild\Current\Bin\Microsoft.Common.CurrentVersion.targets(2182,5): warning MSB3245: Could not resolve this reference. Could not locate the assembly "Microsoft.Extensions.Http, Version=3.1.8.0, Culture=neutral, PublicKeyToken=adb9793829ddae60, processorArchitecture=MSIL". Check to make sure the assembly exists on disk. If this reference is required by your code, you may get compilation errors. [D:\a\8\s\$(SourceDir)\XeroIntegration\XeroIntegration\XeroIntegration.vbproj]
C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\MSBuild\Current\Bin\Microsoft.Common.CurrentVersion.targets(2182,5): warning MSB3245: Could not resolve this reference. Could not locate the assembly "Microsoft.Extensions.Logging, Version=3.1.8.0, Culture=neutral, PublicKeyToken=adb9793829ddae60, processorArchitecture=MSIL". Check to make sure the assembly exists on disk. If this reference is required by your code, you may get compilation errors. [D:\a\8\s\$(SourceDir)\XeroIntegration\XeroIntegration\XeroIntegration.vbproj]
C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\MSBuild\Current\Bin\Microsoft.Common.CurrentVersion.targets(2182,5): warning MSB3245: Could not resolve this reference. Could not locate the assembly "Microsoft.Extensions.Logging.Abstractions, Version=3.1.8.0, Culture=neutral, PublicKeyToken=adb9793829ddae60, processorArchitecture=MSIL". Check to make sure the assembly exists on disk. If this reference is required by your code, you may get compilation errors. [D:\a\8\s\$(SourceDir)\XeroIntegration\XeroIntegration\XeroIntegration.vbproj]
C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\MSBuild\Current\Bin\Microsoft.Common.CurrentVersion.targets(2182,5): warning MSB3245: Could not resolve this reference. Could not locate the assembly "Microsoft.Extensions.Options, Version=3.1.8.0, Culture=neutral, PublicKeyToken=adb9793829ddae60, processorArchitecture=MSIL". Check to make sure the assembly exists on disk. If this reference is required by your code, you may get compilation errors. [D:\a\8\s\$(SourceDir)\XeroIntegration\XeroIntegration\XeroIntegration.vbproj]
C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\MSBuild\Current\Bin\Microsoft.Common.CurrentVersion.targets(2182,5): warning MSB3245: Could not resolve this reference. Could not locate the assembly "Microsoft.Extensions.Primitives, Version=3.1.8.0, Culture=neutral, PublicKeyToken=adb9793829ddae60, processorArchitecture=MSIL". Check to make sure the assembly exists on disk. If this reference is required by your code, you may get compilation errors. [D:\a\8\s\$(SourceDir)\XeroIntegration\XeroIntegration\XeroIntegration.vbproj]
C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\MSBuild\Current\Bin\Microsoft.Common.CurrentVersion.targets(2182,5): warning MSB3245: Could not resolve this reference. Could not locate the assembly "RestSharp, Version=106.11.4.0, Culture=neutral, PublicKeyToken=598062e77f915f75, processorArchitecture=MSIL". Check to make sure the assembly exists on disk. If this reference is required by your code, you may get compilation errors. [D:\a\8\s\$(SourceDir)\XeroIntegration\XeroIntegration\XeroIntegration.vbproj]
C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\MSBuild\Current\Bin\Microsoft.Common.CurrentVersion.targets(2182,5): warning MSB3245: Could not resolve this reference. Could not locate the assembly "System.ComponentModel.Annotations, Version=4.2.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL". Check to make sure the assembly exists on disk. If this reference is required by your code, you may get compilation errors. [D:\a\8\s\$(SourceDir)\XeroIntegration\XeroIntegration\XeroIntegration.vbproj]
C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\MSBuild\Current\Bin\Microsoft.Common.CurrentVersion.targets(2182,5): warning MSB3245: Could not resolve this reference. Could not locate the assembly "System.Text.Json, Version=4.0.1.2, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL". Check to make sure the assembly exists on disk. If this reference is required by your code, you may get compilation errors. [D:\a\8\s\$(SourceDir)\XeroIntegration\XeroIntegration\XeroIntegration.vbproj]
C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\MSBuild\Current\Bin\Microsoft.Common.CurrentVersion.targets(2182,5): warning MSB3245: Could not resolve this reference. Could not locate the assembly "System.Threading.Tasks.Extensions, Version=4.2.0.1, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL". Check to make sure the assembly exists on disk. If this reference is required by your code, you may get compilation errors. [D:\a\8\s\$(SourceDir)\XeroIntegration\XeroIntegration\XeroIntegration.vbproj]
C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\MSBuild\Current\Bin\Microsoft.Common.CurrentVersion.targets(2182,5): warning MSB3245: Could not resolve this reference. Could not locate the assembly "Xero.NetStandard.OAuth2, Version=0.0.0.0, Culture=neutral, processorArchitecture=MSIL". Check to make sure the assembly exists on disk. If this reference is required by your code, you may get compilation errors. [D:\a\8\s\$(SourceDir)\XeroIntegration\XeroIntegration\XeroIntegration.vbproj]
C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\MSBuild\Current\Bin\Microsoft.Common.CurrentVersion.targets(2182,5): warning MSB3245: Could not resolve this reference. Could not locate the assembly "Xero.NetStandard.OAuth2Client, Version=1.3.1.0, Culture=neutral, processorArchitecture=MSIL". Check to make sure the assembly exists on disk. If this reference is required by your code, you may get compilation errors. [D:\a\8\s\$(SourceDir)\XeroIntegration\XeroIntegration\XeroIntegration.vbproj]
C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\MSBuild\Current\Bin\Microsoft.Common.CurrentVersion.targets(2182,5): warning MSB3245: Could not resolve this reference. Could not locate the assembly "Microsoft.CodeDom.Providers.DotNetCompilerPlatform". Check to make sure the assembly exists on disk. If this reference is required by your code, you may get compilation errors. [D:\a\8\s\$(SourceDir)\XeroIntegration\XeroIntegration\XeroIntegration.vbproj]
This is my Agent's job YAML
pool:
name: Azure Pipelines
demands:
- msbuild
- visualstudio
#Your build pipeline references an undefined variable named ‘Parameters.solution’. Create or edit the build pipeline for this YAML file, define the variable on the Variables tab. See https://go.microsoft.com/fwlink/?linkid=865972
#Your build pipeline references an undefined variable named ‘Parameters.solution’. Create or edit the build pipeline for this YAML file, define the variable on the Variables tab. See https://go.microsoft.com/fwlink/?linkid=865972
#Your build pipeline references the ‘BuildPlatform’ variable, which you’ve selected to be settable at queue time. Create or edit the build pipeline for this YAML file, define the variable on the Variables tab, and then select the option to make it settable at queue time. See https://go.microsoft.com/fwlink/?linkid=865971
#Your build pipeline references the ‘BuildConfiguration’ variable, which you’ve selected to be settable at queue time. Create or edit the build pipeline for this YAML file, define the variable on the Variables tab, and then select the option to make it settable at queue time. See https://go.microsoft.com/fwlink/?linkid=865971
#Your build pipeline references the ‘BuildConfiguration’ variable, which you’ve selected to be settable at queue time. Create or edit the build pipeline for this YAML file, define the variable on the Variables tab, and then select the option to make it settable at queue time. See https://go.microsoft.com/fwlink/?linkid=865971
#Your build pipeline references the ‘BuildPlatform’ variable, which you’ve selected to be settable at queue time. Create or edit the build pipeline for this YAML file, define the variable on the Variables tab, and then select the option to make it settable at queue time. See https://go.microsoft.com/fwlink/?linkid=865971
#Your build pipeline references the ‘BuildConfiguration’ variable, which you’ve selected to be settable at queue time. Create or edit the build pipeline for this YAML file, define the variable on the Variables tab, and then select the option to make it settable at queue time. See https://go.microsoft.com/fwlink/?linkid=865971
#Your build pipeline references an undefined variable named ‘Parameters.ArtifactName’. Create or edit the build pipeline for this YAML file, define the variable on the Variables tab. See https://go.microsoft.com/fwlink/?linkid=865972
steps:
- task: NuGetToolInstaller#1
displayName: 'Use NuGet 5.8.1'
inputs:
versionSpec: 5.8.1
checkLatest: true
- task: NuGetCommand#2
displayName: 'NuGet restore'
inputs:
restoreSolution: '$(Parameters.solution)'
feedsToUse: config
nugetConfigPath: '$/XeroAppTest/XeroIntegration/nuget.config'
- task: VSBuild#1
displayName: 'Build solution'
inputs:
solution: '$(Parameters.solution)'
msbuildArgs: '/p:DeployOnBuild=true /p:WebPublishMethod=Package /p:PackageAsSingleFile=true /p:SkipInvalidConfigurations=true /p:PackageLocation="$(build.artifactstagingdirectory)\\"'
platform: '$(BuildPlatform)'
configuration: '$(BuildConfiguration)'
restoreNugetPackages: true
- task: VSTest#2
displayName: 'Test Assemblies'
inputs:
testAssemblyVer2: |
**\$(BuildConfiguration)\*test*.dll
!**\obj\**
platform: '$(BuildPlatform)'
configuration: '$(BuildConfiguration)'
enabled: false
- task: PublishSymbols#2
displayName: 'Publish symbols path'
inputs:
SearchPattern: '**\bin\**\*.pdb'
PublishSymbols: false
enabled: false
continueOnError: true
- task: PublishBuildArtifacts#1
displayName: 'Publish Artifact'
inputs:
PathtoPublish: '$(build.artifactstagingdirectory)'
ArtifactName: '$(Parameters.ArtifactName)'
condition: succeededOrFailed()
Below is the packages.config
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="CompareNETObjects" version="4.57.0" targetFramework="net472" />
<package id="IdentityModel" version="4.0.0" targetFramework="net472" />
<package id="JsonSubTypes" version="1.5.2" targetFramework="net472" />
<package id="Microsoft.Bcl.AsyncInterfaces" version="1.1.1" targetFramework="net472" />
<package id="Microsoft.CodeDom.Providers.DotNetCompilerPlatform" version="2.0.1" targetFramework="net472" />
<package id="Microsoft.Extensions.Configuration" version="3.1.8" targetFramework="net472" />
<package id="Microsoft.Extensions.Configuration.Abstractions" version="3.1.8" targetFramework="net472" />
<package id="Microsoft.Extensions.Configuration.Binder" version="3.1.8" targetFramework="net472" />
<package id="Microsoft.Extensions.DependencyInjection" version="3.1.8" targetFramework="net472" />
<package id="Microsoft.Extensions.DependencyInjection.Abstractions" version="3.1.8" targetFramework="net472" />
<package id="Microsoft.Extensions.Http" version="3.1.8" targetFramework="net472" />
<package id="Microsoft.Extensions.Logging" version="3.1.8" targetFramework="net472" />
<package id="Microsoft.Extensions.Logging.Abstractions" version="3.1.8" targetFramework="net472" />
<package id="Microsoft.Extensions.Options" version="3.1.8" targetFramework="net472" />
<package id="Microsoft.Extensions.Primitives" version="3.1.8" targetFramework="net472" />
<package id="Newtonsoft.Json" version="12.0.1" targetFramework="net472" />
<package id="RestSharp" version="106.11.4" targetFramework="net472" />
<package id="System.Buffers" version="4.5.1" targetFramework="net472" />
<package id="System.ComponentModel.Annotations" version="4.7.0" targetFramework="net472" />
<package id="System.Memory" version="4.5.4" targetFramework="net472" />
<package id="System.Numerics.Vectors" version="4.5.0" targetFramework="net472" />
<package id="System.Runtime.CompilerServices.Unsafe" version="4.7.1" targetFramework="net472" />
<package id="System.Text.Encodings.Web" version="4.7.1" targetFramework="net472" />
<package id="System.Text.Json" version="4.7.2" targetFramework="net472" />
<package id="System.Threading.Tasks.Extensions" version="4.5.4" targetFramework="net472" />
<package id="System.ValueTuple" version="4.5.0" targetFramework="net472" />
<package id="Xero.NetStandard.OAuth2" version="3.16.1" targetFramework="net472" />
<package id="Xero.NetStandard.OAuth2Client" version="1.3.1" targetFramework="net472" />
</packages>
And finally, this is my nuget.config
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<packageSources>
<add key="My Packages" value="https://dev.azure.com/mycompany/XeroAppTest/_versionControl?path=$/XeroAppTest/XeroIntegration/packages" />
<add key="NuGet official package source" value="https://nuget.org/api/v2/" />
</packageSources>
<activePackageSource>
<add key="All" value="(Aggregate source)" />
</activePackageSource>
</configuration>
For anyone, having the same issue like mine, I found an issue, rookie mistake. The reason mine is failing is because I also checked in the packages folder that is on my local machine. When I deleted the folder from my repo, the pipeline builds ok. Thank you everyone

Other .aar library not included in .aar library after build

I have a library project A, which contains a custom library B in aar format, which is hosted on a Maven Server.
If I build A now and export it as an aar, B is not included in the file, whereas several jar libs are included.
I´ve checked the .iml file of my module and found the following lines:
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/exploded-aar/com.libs/libraryb/0.0.1/jars" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/exploded-aar/com.android.support/appcompat-v7/22.2.1/jars" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/exploded-aar/com.android.support/support-v4/22.2.1/jars" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/exploded-aar/com.google.android.gms/play-services-ads/7.8.0/jars" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/exploded-aar/com.google.android.gms/play-services-analytics/7.8.0/jars" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/exploded-aar/com.google.android.gms/play-services-appindexing/7.8.0/jars" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/exploded-aar/com.google.android.gms/play-services-base/7.8.0/jars" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/exploded-aar/com.google.android.gms/play-services-plus/7.8.0/jars" />
Those contents seem to be excluded completely.
Is it possible to have the aar included in any way or does it only work with jar files?

Installshield LE update 2012 -> 2013 - Installing VC++ redistributable no longer working

Since I updated my installshield version from 2012 Spring to 2013, my installer is no longer installing Visual C++ redistributable package if needed.
My application is targeting x86 platform, that's why I need vc_redistx86 to be installed on user's PC. It is the same application for both x64 and x86 PCs.
Because I'm now using Visual Studio 2012 update 4, I've created my own .prq:
<?xml version="1.0" encoding="UTF-8"?>
<SetupPrereq>
<conditions>
<condition Type="1" Comparison="2" Path="HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\{33d1fd90-4274-48a1-9bc1-97e33d9c2d6f}" FileName="" ReturnValue=""></condition>
</conditions>
<operatingsystemconditions>
<operatingsystemcondition MajorVersion="6" MinorVersion="0" PlatformId="2" CSDVersion="" ServicePackMajorMin="2"></operatingsystemcondition>
<operatingsystemcondition MajorVersion="6" MinorVersion="1" PlatformId="2" CSDVersion="" Bits="1" ServicePackMajorMin="1"></operatingsystemcondition>
<operatingsystemcondition MajorVersion="6" MinorVersion="2" PlatformId="2" CSDVersion=""></operatingsystemcondition>
</operatingsystemconditions>
<files>
<file LocalFile="<ISProductFolder>\SetupPrerequisites\VC 2012 Redist\x86\vcredist_up4_x86.exe" URL="http://download.microsoft.com/download/1/6/B/16B06F60-3B20-4FF2-B699-5E9B7962F9AE/VSU_4/vcredist_x86.exe" CheckSum="7F52A19ECAF7DB3C163DD164BE3E592E" FileSize="0,6554576"></file>
</files>
<execute file="vcredist_up4_x86.exe" cmdline="/q" cmdlinesilent="/q" returncodetoreboot="1641,3010"></execute>
<properties Id="" Description="This prerequisite installs the Microsoft Visual C++ 2012 Runtime Libraries (x86)." AltPrqURL=""></properties>
<behavior Reboot="2"></behavior>
</SetupPrereq>
Of course, I've downloaded the vc_redist_x86 for VS2012 update 4, and placed there \SetupPrerequisites\VC 2012 Redist\x86\vcredist_up4_x86.exe
Is it correct?
You have to make sure that you .prq file embbed the right operating system conditions in order to be installed correctly on every target machine.
According to this MSDN Page - Windows versions, you'll find what is missing and what lines need to be added.
For example here are only requirements for windows 7 and 8 x86 versions, if you want to deploy on x64 you are missing this kind of xml condition :
-- operatingsystemcondition MajorVersion="6" MinorVersion="0" PlatformId="2" CSDVersion="" Bits="4" ServicePackMajorMin="2"> operatingsystemcondition
Cheers :)

Phalanger error in Visual Studio

I have installed Phalanger from http://phalanger.codeplex.com/ and installed Phalanger Tools from the built-in market-place function in my Visual Studio 2012 Ultimate distribution. After doing this, every time I boot start Visual Studio I get a dialog-box with the error:
If I examine ActivityLog.xml I find the following errors (all other elements omitted):
<?xml version="1.0" encoding="utf-16"?>
<?xml-stylesheet type="text/xsl" href="ActivityLog.xsl"?>
<activity>
<entry>
<record>16</record>
<time>2013/10/04 14:43:55.426</time>
<type>Error</type>
<source>VisualStudio</source>
<description>Loading UI library</description>
<guid>{712C84E3-B447-4283-ABF3-D00B161E63FE}</guid>
<hr>800a006f</hr>
<errorinfo>Cannot find the requested resource.</errorinfo>
</entry>
<entry>
<record>63</record>
<time>2013/10/04 14:44:03.569</time>
<type>Error</type>
<source>VisualStudio</source>
<description>SetSite failed for package [PHP.Project.PHPProjectPackage, PHP.VS, Version=1.8.4608.0, Culture=neutral, PublicKeyToken=17116b35d45f8bb8]</description>
<guid>{9DD0D70B-6760-4C96-B1DC-03AAF937D95A}</guid>
<hr>80004003 - E_POINTER</hr>
<errorinfo>Object reference not set to an instance of an object.</errorinfo>
</entry>
<entry>
<record>64</record>
<time>2013/10/04 14:44:03.574</time>
<type>Error</type>
<source>VisualStudio</source>
<description>End package load [PHP.Project.PHPProjectPackage, PHP.VS, Version=1.8.4608.0, Culture=neutral, PublicKeyToken=17116b35d45f8bb8]</description>
<guid>{9DD0D70B-6760-4C96-B1DC-03AAF937D95A}</guid>
<hr>80004003 - E_POINTER</hr>
<errorinfo>Object reference not set to an instance of an object.</errorinfo>
</entry>
</activity>
Does anyone have a take on what I could do to relieve this?
It seams, you have PHP Tools for Visual Studio, not Phalanger Tools. Also it is possible you installed PHP Tools in addition to Phalanger Tools.
Try to uninstall both, and install Phalanger Tools only.

Adding prerequisites Visual C++ runtime redistributable

I have problem during installing visual c++ runtime libraries for windows 7.
I prepare the setup using installshield 2010,their is an option to set visual c++ 2010 as prerequisites but no option for VC++ 2008.
How I can create(or anybody created already) .prq file, so that I can build my application.
Please help me as soon as possible.
You can download the prerequisite files using the link from the AltPrqURL attribute from one of the installed .prg files (default location c:\Program Files (x86)\InstallShield\2012SpringLE\SetupPrerequisites) and change this link according to your needs. e.g.:
http://saturn.installshield.com/is/prerequisites/microsoft visual c++ 2008 sp1 redistributable package (x86).prq
add the following lines for Windows Server 2003 and Windows 8 support:
<operatingsystemcondition MajorVersion="6" MinorVersion="0" PlatformId="2" CSDVersion="" Bits="1" ProductType="2|3"></operatingsystemcondition>
<operatingsystemcondition MajorVersion="6" MinorVersion="2" PlatformId="2" CSDVersion="" Bits="1"></operatingsystemcondition>
http://saturn.installshield.com/is/prerequisites/microsoft visual c++ 2008 sp1 redistributable package (x64).prq
add the following lines for Windows Server 2003 and Windows 8 support:
<operatingsystemcondition MajorVersion="6" MinorVersion="0" PlatformId="2" CSDVersion="" Bits="4" ProductType="2|3"></operatingsystemcondition>
<operatingsystemcondition MajorVersion="6" MinorVersion="2" PlatformId="2" CSDVersion="" Bits="4"></operatingsystemcondition>
The Visual C++ 2010 Redistributable Package (x64) is also missing from InstallShield 2012 LE: http://saturn.installshield.com/is/prerequisites/microsoft visual c++ 2010 redistributable package (x64).prq
Important: my Visual Studio 2012 + InstallShield 2012 LE did not list the new x64 redistributables with their default name. Solution: just change the file names.
You can use your VC++ 2010 prq file and just edit it. Download the VC++ 2008 and place it on the appropriate folder. Update the prq file by updating the condition as well as the source for your executable file.
I had the same problem, and I found the .prq file on the Internet for VC++ 2008. This is the content of the file:
<?xml version="1.0" encoding="UTF-8"?>
<SetupPrereq>
<conditions>
<condition Type="1" Comparison="2" Path="HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Installer\UserData\S-1-5-18\Products\D20352A90C039D93DBF6126ECE614057" FileName="" ReturnValue=""/>
</conditions>
<operatingsystemconditions>
<operatingsystemcondition MajorVersion="5" MinorVersion="0" PlatformId="2" CSDVersion="" ServicePackMajorMin="4"/>
<operatingsystemcondition MajorVersion="6" MinorVersion="1" PlatformId="2" CSDVersion="" Bits="1" ProductType="1"/>
<operatingsystemcondition MajorVersion="6" MinorVersion="0" PlatformId="2" CSDVersion="" Bits="1"/>
<operatingsystemcondition MajorVersion="5" MinorVersion="2" PlatformId="2" CSDVersion="" Bits="1" ProductType="2|3"/>
<operatingsystemcondition MajorVersion="5" MinorVersion="1" PlatformId="2" CSDVersion="" Bits="1" ProductType="1"/>
</operatingsystemconditions>
<files>
<file LocalFile="<ISProductFolder>\SetupPrerequisites\VC 2008 SP1 Redist\vcredist_x86.exe" URL="http://download.microsoft.com/download/d/d/9/dd9a82d0-52ef-40db-8dab-795376989c03/vcredist_x86.exe" CheckSum="5689D43C3B201DD3810FA3BBA4A6476A" FileSize="0,4216840"/>
</files>
<execute file="vcredist_x86.exe" cmdline="/q" cmdlinesilent="/q" returncodetoreboot="3010,8192,1641,1046" requiresmsiengine="1"/>
<properties Id="{0BE9572E-8558-404f-B0A5-8C347D145655}" Description="This prerequisite installs the Microsoft Visual C++ 2008 SP1 Redistributable Package for x86-based systems." AltPrqURL="http://saturn.installshield.com/is/prerequisites/microsoft visual c++ 2008 sp1 redistributable package (x86).prq"/>
<behavior Reboot="2"/>
</SetupPrereq>
This file should be saved into C:\XXX\InstallShield\YYYY\SetupPrerequisites\ as Microsoft Visual C++ 2008 SP1 Redistributable Package (x86).prq. Restart your IS an it should be appear in the redistributable option. You could also use InstallShield Prerequisite Editor to change some options or create a new one.

Resources