Open wixbot opened 10 years ago
Determine what 1001 means.
Originally posted by
barnson
AssignedTo
set tobobarnson
Release
changed fromv3.x
tov3.8
@Simeon, could you post a full verbose log to a file-sharing site (e.g., Google Drive, SkyDrive, DropBox) and put the URL here?
1001 is what's returned when the VSIX is already installed. It should have removed and reinstalled it.
Originally posted by
barnson
Status
changed fromOpen
toUntriaged
I can't attach full log due to that it is related to not yet released official product. Problem happen due to during repair installer try to install VSIX package again (without its previous removal). But VSIXInstaller.exe doesn't support repair and it detects that this VSIX package already installed and rise an exception.
Originally posted by
simeon
by log:
MSI (s) (D8:3C) [16:11:17:887]: Feature: RELATED_FEATURE_NAME; Installed: Local; Request: Reinstall; Action: Reinstall
...
MSI (s) (D8:3C) [16:11:17:887]: Component: RELATED_COMPONENT_NAME; Installed: Local; Request: Local; Action: Local; Client State: Local
...
But installer only perform action on installation VSIX package and doesn't do its removal.
Originally posted by
simeon
Originally changed by
barnson
Release
changed fromv3.8
tov3.x
hello
as an alternative
add to VSCompile.cs in method ParseVsixPackageElement(XmlNode node, string componentId, string fileId) . This action unistall VSIX-package, then install VSIX-package. continue running ignore All error.
//Start
string reinstallNamePerUser = this.Core.GenerateIdentifier("riu", componentId, fileId, "per-user", target ?? String.Empty, targetVersion ?? String.Empty);
string reinstallNamePerMachine = this.Core.GenerateIdentifier("rim", componentId, fileId, "per-machine", target ?? String.Empty, targetVersion ?? String.Empty);
string reinstallCmdLinePerUser = String.Concat(cmdlinePrefix, " /u:", packageId);
string reinstallCmdLinePerMachine = String.Concat(reinstallCmdLinePerUser, " /admin");
int reinstallExtraBitsPerUser = VSCompiler.MsidbCustomActionTypeContinue | VSCompiler.MsidbCustomActionTypeInScript;
int reinstallExtraBitsPerMachine = reinstallExtraBitsPerUser | VSCompiler.MsidbCustomActionTypeNoImpersonate;
string reinstallConditionPerUser = String.Format("NOT ALLUSERS AND Installed AND ${0}=3", componentId);
string reinstallConditionPerMachine = String.Format("ALLUSERS AND Installed AND ${0}=3", componentId);
this.SchedulePropertyExeAction(sourceLineNumbers, reinstallNamePerUser, propertyId, reinstallCmdLinePerUser, reinstallExtraBitsPerUser, reinstallConditionPerUser, null, installAfter);
this.SchedulePropertyExeAction(sourceLineNumbers, reinstallNamePerMachine, propertyId, reinstallCmdLinePerMachine, reinstallExtraBitsPerMachine, reinstallConditionPerMachine, null, reinstallNamePerUser);
//End
Originally posted by
form2t
Any update of this bug? I met a very similar issue. Here is the code I used to install the VSIX extension and another serivce.
<Feature Id="Feature_XXVSI" Level="1" Title="XX VS 2015 Integrations" Description="XXXX">
<Component Id="ComponentXXVSIX" Guid="81DE3E7E-855C-4E82-9BA6-E6A594A60E91" Directory="Directory_XXTemp">
<VSExtension:VsixPackage File="FileXXVSI.VSIX" PackageId="50d6ef6d-9edd-48e8-b938-b448b15771ae" />
<File Id="FileXXVSI.VSIX" Source="$(var.XXVSI.TargetDir)XXVSI.vsix" />
</Component>
</Feature>
<Feature Id="Feature_XXService" Level="1" ConfigurableDirectory="XXDIRECTORY" Title ="XX Service" Description="XXXX">
<Component Id="ComponentXXService" Guid="4C0CBD5F-AFF2-44FC-8050-12D84AF8AAB4" Directory="XXDIRECTORY" Win64="yes">
<File Id="File_XXService" Source="$(var.XXVSI.TargetDir)WiX\asset_service.exe"/>
<ServiceInstall Id="ServiceInstall_XXService" ....../>
<ServiceControl Id="StartService" Start="install" Stop="both" Remove="uninstall" Name="XX Service" Wait="yes" />
</Component>
</Feature>
If installation failed due to the service feature Feature_XXService, everything should be rolled back. However the VSIX is installed without being uninstalled later (by reading the verbose log, I observed nothing related to the VSIX uninstallation). How should this be fixed? Thanks!!!
The bug's open for someone to fix in WiX v4.
Could you provide the link to the new bug.
And in the meantime, what are the suggested workaround? Thanks!
This is the bug. I'm not aware of a workaround; the issue needs someone to investigate a proper fix. If you'd care to contribute, the WiX web site has the details.
Failed to repair installer in case of usage VsixPackage.
WIX versions: 3.7 and v4.0.1015.0
I'm using component which use VsixPackage:
<Component Id="xxx Guid="xxx">
<VSExtension:VsixPackage File="xxx" PackageId="xxx" Vital="yes" Permanent="no"/>
<File Id="xxx" Name="xxx.vsix" DiskId="1" Source="xxx.vsix"/>
</Component>
And it successfully installed and uninstall during installer installation and removal. But if try to repair installer i'm getting error message and installer failed to repair. If look into the log file there can be seen:
MSI (s) (D8:3C) [16:11:48:273]: Executing op: CustomActionSchedule(Action=vim2E29D82EAE4B798043AB494DFE4D5841,ActionType=3122,Source=C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE\VSIXInstaller.exe,Target=/q "xxx.vsix" /admin,)
CustomAction vim2E29D82EAE4B798043AB494DFE4D5841 returned actual error code 1001 (note this may not be 100% accurate if translation happened inside sandbox)
MSI (s) (D8:3C) [16:12:01:811]: Note: 1: 1722 2: vim2E29D82EAE4B798043AB494DFE4D5841 3: C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE\VSIXInstaller.exe 4: /q "xxx.vsix" /admin
MSI (s) (D8:3C) [16:12:01:811]: Note: 1: 2205 2: 3: Error