Sfxca failed to extract to temporary directory cabinet error code 11

Menu ▾ ▴
  • Summary

  • Files

  • Reviews

  • Support

  • Tickets ▾

    • Bugs
    • Feature Requests
    • Examples
  • Mailing Lists

  • News

  • CVS

Menu

From: John Nannenga <John….@mi…> — 2009-02-27 16:57:01

FDI Error code of 11 means user aborted; I found that interesting so I dug into this a bit...

sfxcaExtract.cpp :: ExtractCabinet
	Comments note that the destination directory (szExtractDir) must already exist (and should be empty)

sfxcaExtract.cpp :: FNFDINOTIFY...
	case	fdintCOPY_FILE...

		pfdin->psz1 is the name of the file within the cabinet, including the 'folder name'. For this example, assume "FooFile.txt" and the extraction directory is "C:Extract"

		Then we get to this code...

1		size_t cchFile = MultiByteToWideChar(CP_UTF8, 0, pfdin->psz1, -1, NULL, 0);
2		size_t cchFilePath = wcslen(g_szExtractDir) + 1 + cchFile;
3		wchar_t* szFilePath = (wchar_t*) _alloca((cchFilePath + 1) * sizeof(wchar_t));
4		if (szFilePath == NULL) return -1;
5		StringCchCopyW(szFilePath, cchFilePath + 1, g_szExtractDir);
6		StringCchCatW(szFilePath, cchFilePath + 1, L"\");
7		MultiByteToWideChar(CP_UTF8, 0, pfdin->psz1, -1,
8			szFilePath + cchFilePath - cchFile, (int) cchFile + 1);
9		int hf;
10		_wsopen__s(hf, szFilePath,
11			_O_BINARY | _O_CREAT | _O_WRONLY | _O_SEQUENTIAL,
12			_SH_DENYWR, _S_IREAD | _S_IWRITE);
13		return hf

szFilePath becomes C:ExtractFooFile.txt

Then the call to _wsopen__s (line 10) to that file path...well, the directory doesn't exist ('C:ExtractFoo' [however 'c:Extract' does]) and this function doesn't create it, so it returns failure and a -1 for "hf".  -1 then is returned (line 13) which in this context, means user abort.

Hence "SFXCA: Failed to extract to temporary directory. Cabinet error code 11." appears in the MSI log.




-----Original Message-----
From: Shawn Dwyer [mailto:shawn...@gm...] 
Sent: Friday, February 27, 2009 12:07 AM
To: General discussion for Windows Installer XML toolset.; Shawn Dwyer
Subject: Re: [WiX-users] MakeSfxCA and project output

Has anyone gotten this error when using DTF?SFXCA: Failed to extract to
temporary directory. Cabinet error code 11.

Has anyone managed to pack a directory using another method?

Thanks,

Shawn

On Thu, Feb 26, 2009 at 12:01 AM, Shawn Dwyer <shawn...@gm...>wrote:

> I think I'm getting close but I'm getting an error when unpacking.
>
> Reading the source for MakeSfxCA I found the GetPackFileMap function and
> reading the description:  "By default, all files will be placed in the
> root of the cab. But inputs may optionally include an alternate inside-cab
> file path before an equals sign."
>
> So this implied to me that on the MakeSfxCA command line, rather than pass
> "$(TargetDir)EULAsja-JPEula.rtf" I could pass "EULAsja-JPEula.rtf=
> $(TargetDir)EULAsja-JPEula.rtf"
>
> I beleive the log output of MakeSfxCA confirmed this:
> Packaging files
>         MyInstallerCA.dll
>         CustomAction.config
>         Microsoft.Deployment.WindowsInstaller.dll
>         EULAsja-JPEula.rtf
>
> However, when I run my installer I get the following error:
>
> SFXCA: Extracting custom action to temporary directory: TempMSI28AD.tmp-
> MSI (c) (D0!6C) [23:20:00:013]: Closing MSIHANDLE (2) of type 790531 for
> thread 3436
> MSI (c) (D0!6C) [23:20:00:091]: Creating MSIHANDLE (3) of type 790531 for
> thread 3436
> *SFXCA: Failed to extract to temporary directory. Cabinet error code 11.*
>
> Has anyone tried this before and gotten it to work?  Is there a better way
> to do this?
>
>
> Additionally I figured out how to pack everything in my CA project ouput
> directory recursively.  I replaced the PackCustomAction taget in the
> Wix.CA.targets file with the following.  I don't recommend changing this
> file since it will get overwritten on the next Wix install, I simply did
> this as a shortcut to see if I could get it to work.  This could be placed
> in any project file or imported from a custom target though.
>
> <Target Name="AfterBuild">
>
>         <CreateProperty Value="$(TargetDir)$(TargetCAFileName)">
>                 <Output TaskParameter="Value"
> PropertyName="TargetCAPackage"/>
>         </CreateProperty>
>
>         <CreateItem Include="$(TargetDir)***.*">
>                 <Output TaskParameter="Include"
> ItemName="AllFilesInTargetDir"  />
>         </CreateItem>
>
>         <CreateItem Include="@(AllFilesInTargetDir)"
>                 Condition=" '%(AllFilesInTargetDir.FullPath)' !=
> '$(TargetPath)' and '%(AllFilesInTargetDir.FullPath)' !=
> '$(TargetCAPackage)'" >
>                 <Output TaskParameter="Include"
> ItemName="AllDependenciesInTargetDir"  />
>         </CreateItem>
>
>         <CreateProperty
> Value="@(AllDependenciesInTargetDir->'%(RecursiveDir)%(Filename)%(Extension)=%(RecursiveDir)%(Filename)%(Extension)')"
> >
>                 <Output TaskParameter="Value"
> PropertyName="AllDependenciesInTargetDirList" />
>         </CreateProperty>
>
>         <!-- Run the MakeSfxCA.exe CA packaging tool. -->
>         <Exec Command='"$(MakeSfxCA)" "$(TargetCAPackage)" "$(SfxCADll)"
> "$(TargetPath)" "$(AllDependenciesInTargetDirList)"'
> WorkingDirectory="$(TargetDir)" />
>
> </Target>
>
>
> On Wed, Feb 25, 2009 at 12:07 PM, Shawn Dwyer <shawn...@gm...>wrote:
>
>> Hi,
>>
>> Is there a way to get MakeSfxCA include everything in my CA project ouput
>> directory recursively, maintaining folder structure?  It seems to me this
>> would be the simplest way of ensuring all necessary dependencies are there
>> at runtime.
>>
>> For a simple example say I have my EULAs for each language in a
>> subdirectory such as $(TargetDir)EULAsja-JPEula.rtf.  I'd like this file
>> and the folder structure to be there at runtime.
>>
>> Of course in the above example I could simply flatten the folder structure
>> and add the language as part of the file name, but my particular scenario is
>> more complicated.
>>
>> Another example would be to get the dependencies of dependencies.  For
>> example Project A depends on Project B which depends on Project C.  The
>> output of C is automatically copied to the output directory of B, and all of
>> that to the ouput directory of A.  I'd like to someout get that all packaged
>> up and available at runtime.
>>
>> Thanks,
>>
>> Shawn
>>
>
>
------------------------------------------------------------------------------
Open Source Business Conference (OSBC), March 24-25, 2009, San Francisco, CA
-OSBC tackles the biggest issue in open source: Open Sourcing the Enterprise
-Strategies to boost innovation and cut costs with open source participation
-Receive a $600 discount off the registration fee with the source code: SFAD
http://p.sf.net/sfu/XcvMzF8H
_______________________________________________
WiX-users mailing list
WiX-u...@li...
https://lists.sourceforge.net/lists/listinfo/wix-users




View entire thread

  • Post Options:
  • Link

Posted 19 February 2019, 7:35 pm EST

Hi Mohitg,

Thanks for the response.

Here you have the log.

Apparently the error is extracting to a temporary directory :

SFXCA: Failed to extract to temporary directory. Cabinet error code 11.
CustomAction SaveInstallationDate returned actual error code 1603 (note this may not be 100% accurate if translation happened inside sandbox)
02/20/2019 09:24:49.841 [18428]: Assembly Install: Failing with hr=80070005 at RemoveDirectoryAndChildren, line 393

02/20/2019 09:24:49.857 [18428]: Detailed info about C:Windowsassemblytmp6N1T9V8KGrapeCity.ActiveReports.Interop.dll

02/20/2019 09:24:49.857 [18428]: File attributes: 00000020

02/20/2019 09:24:49.982 [18428]: Restart Manager Info: 1 entries

02/20/2019 09:24:49.982 [18428]: App[0]: (18428) Windows Installer (msiserver), type = 1000

02/20/2019 09:24:49.982 [18428]: Security info:

02/20/2019 09:24:49.982 [18428]: Owner: S-1-5-32-544

02/20/2019 09:24:49.982 [18428]: Group: S-1-5-18

02/20/2019 09:24:49.982 [18428]: DACL information: 5 entries:

02/20/2019 09:24:49.982 [18428]: ACE[0]: Type = 0x00, Flags = 010, Mask = 001f01ff, SID = S-1-5-18

02/20/2019 09:24:49.982 [18428]: ACE[1]: Type = 0x00, Flags = 010, Mask = 001f01ff, SID = S-1-5-32-544

02/20/2019 09:24:49.982 [18428]: ACE[2]: Type = 0x00, Flags = 010, Mask = 001200a9, SID = S-1-5-32-545

02/20/2019 09:24:49.982 [18428]: ACE[3]: Type = 0x00, Flags = 010, Mask = 001200a9, SID = S-1-15-2-1

02/20/2019 09:24:49.982 [18428]: ACE[4]: Type = 0x00, Flags = 010, Mask = 001200a9, SID = S-1-15-2-2

Thanks!

I am getting the following error in the log file:

 Action start 12:11:52: CreateIisConfigs.
MSI (s) (0C:7C) [12:11:52:731]: Invoking remote custom action. DLL: C:WINDOWSInstallerMSIFD80.tmp, Entrypoint: CreateIisConfigs
MSI (s) (0C:E8) [12:11:52:731]: Generating random cookie.
MSI (s) (0C:E8) [12:11:52:733]: Created Custom Action Server with PID 10316 (0x284C).
MSI (s) (0C:F0) [12:11:52:751]: Running as a service.
MSI (s) (0C:F0) [12:11:52:753]: Hello, I'm your 32bit Impersonated custom action server.
SFXCA: Extracting custom action to temporary directory: C:WINDOWSInstallerMSIFD80.tmp-
SFXCA: Failed to extract to temporary directory. Cabinet error code 1.
CustomAction CreateIisConfigs returned actual error code 1603 (note this may not be 100% accurate if translation happened inside sandbox)
Action ended 12:11:52: CreateIisConfigs. Return value 3.
Action ended 12:11:52: INSTALL. Return value 3.

I am using <MediaTemplate EmbedCab="yes" /> and WIX Toolset 3.10.

Thanks for your time.

asked Mar 7, 2016 at 13:02

Chris Tanev's user avatar

Chris TanevChris Tanev

2083 silver badges16 bronze badges

You have a security/permission issue.
Check the line before this issue.

Also it could be related to exe file you are using in your CA.

Hope it helped.

answered Mar 7, 2016 at 14:11

Arkady Sitnitsky's user avatar

8

Okay so i sort this issue out.In my specific case i have a post-build action that copies the msi file to the Resources folder of C# class library project.Somehow the msi got corrupted and thats why i had this Cabinet error code 1 .After i manually copy paste the msi the error is gone.

answered Mar 11, 2016 at 12:10

Chris Tanev's user avatar

Chris TanevChris Tanev

2083 silver badges16 bronze badges

One of my customers came across an uninstall issue on Windows 10 and shot me an email.  It seems Windows 10 has a new way of adding and removing software:

The problem was users were calling into my customers helpdesk reporting the uninstall being blocked by a custom action. The common theme was that uninstall from the legacy Programs and Features worked but that it failed from the new Apps and Features.  My customer provided me log files and the following stood out:

Action start 11:22:33: REDACTED.
SFXCA: Failed to create new CA process via RUNDLL32. Error code: 575
CustomAction REDACTED returned actual error code 1603 (note this may not be 100% accurate if translation happened inside sandbox)



This indicated a WiX DTF SfxCA error.  575 means that RunDLL32 failed to initialize. 

In my good log I saw:

Action start 11:36:35: REDACTED.
SFXCA: Extracting custom action to temporary directory: C:UsersREDACTEDAppDataLocalTempMSIAFD1.tmp-
SFXCA: Binding to CLR version v4.0.30319
Calling custom action REDACTED!REDACTED.CustomActions.REDACTED
MSI (s) (30:20) [11:36:36:464]: Doing action: REDACTED
Action ended 11:36:36: REDACTED. Return value 1.

That’s what I expected to see.  Ok, so what’s different?  Again I looked at the logs.

=== Verbose logging started: 10/17/2015  11:36:34  Build type: SHIP UNICODE 5.00.10011.00  Calling process: C:WindowsExplorer.EXE ===
MSI (s) (30:20) [11:36:34:401]: Command Line: REMOVE=ALL CURRENTDIRECTORY=C:Windowssystem32 CLIENTUILEVEL=2 CLIENTPROCESSID=2704

and from the bad:

=== Verbose logging started: 10/17/2015  11:22:31  Build type: SHIP UNICODE 5.00.10011.00  Calling process: C:WindowsImmersiveControlPanelSystemSettings.exe ===
MSI (s) (1C:F0) [11:22:31:794]: Command Line: REMOVE=ALL CURRENTDIRECTORY=C:WindowsImmersiveControlPanel CLIENTUILEVEL=2 CLIENTPROCESSID=3420

My customer was using WiX 3.7. I decided to set out to reproduce the problem with 3.7 and 3.10.  My first attempt failed as I scheduled the custom action for deferred and it worked.  However when I changed it to immediate execution, I was able to reproduce the problem.   That’s very strong evidence o me that this new «immersive control panel» process has an environment that is impacting DTF’s ability to find and launch RunDLL.

Hopefully this write up will help the WiX guys find a resolution.  You can find the bug logged here.

Update:

 Further testing indicates this is limited to 64 bit Windows 10.  32 bit seems to function normally.

I did a simple Type 2 EXE custom action test and it called RunDLL32 just fine.

<SetProperty Id=«RunDLL« Value=«rundll32.exe« After=«AppSearch« />

  <CustomAction Id=«test« Property=«RunDLL« ExeCommand=«printui.dll,PrintUIEntry /?« />

<InstallExecuteSequence>

  <Custom Action=«test« After=«InstallInitialize«>REMOVE=»ALL»</Custom>

</InstallExecuteSequence>

Hi all,
I have downloaded latest v3.11 RC build (3.11.0.1507) and experience what seems to be the same or similar issue with a managed custom action which I have to consume in my installer. You mentioned earlier in the thread: «This bug is about managed custom actions, …» and «The underlying issue is in Windows Installer, Microsoft will have to fix that. All WiX could do was workaround it in DTF.».
Please elaborate.

Thanks
Andreas

PS: If more information is needed, let me know.
I’m using Visual Studio 15 (v14.0.25431.01 Update 3) and have Win 10 Enterprise 2015 LTSB (x64).
I’m not the owner of the custom action, it’s a different team that provides me the custom action.

Here is the log message about the failing CA:
MSI (s) (14:FC) [17:17:51:080]: Executing op: ActionStart(Name=UnRegisterProductInv,,)
MSI (s) (14:FC) [17:17:51:080]: Executing op: CustomActionSchedule(Action=UnRegisterProductInv,ActionType=1025,Source=BinaryData,Target=UnRegisterProduct,)
MSI (s) (14:80) [17:17:51:084]: Invoking remote custom action. DLL: C:WINDOWSInstallerMSI2A5E.tmp, Entrypoint: UnRegisterProduct
MSI (s) (14:E0) [17:17:51:085]: Generating random cookie.
MSI (s) (14:E0) [17:17:51:110]: Created Custom Action Server with PID 17476 (0x4444).
MSI (s) (14:6C) [17:17:51:151]: Running as a service.
MSI (s) (14:6C) [17:17:51:154]: Hello, I’m your 32bit Impersonated custom action server.
SFXCA: Failed to create new CA process via RUNDLL32. Error code: 575
CustomAction UnRegisterProductInv returned actual error code 1603 (note this may not be 100%
accurate if translation happened inside sandbox)
MSI (s) (14:FC) [17:17:51:198]: Note: 1: 2265 2: 3: -2147287035

Following the consumption of the CA:

<CustomAction Id="RegisterProductInv"
              BinaryKey="Installer.CA.dll"
              DllEntry="RegisterProduct"
              Execute="immediate"
              Return="check"/>

<!-- Add uninstall event entry -->
<CustomAction Id="UnRegisterProductInv"
              BinaryKey="Installer.CA.dll"
              DllEntry="UnRegisterProduct"
              Execute ="immediate"
              Return="check"/>
  • Remove From My Forums

 locked

Can’t Install SC SP1 UR3 — MSI Error

  • Вопрос

  • In a fresh install of SC App controller 2012 SP1, can’t install UR3.

    Error 1023 on event viewer:

    Product: Microsoft System Center 2012 — App Controller — Update ‘Update Rollup 3 for Microsoft System Center 2012 SP1 App Controller (KB2853227)’ could not be installed. Error code 1603. Additional information is available in the log file C:ITApp2.log.

    Setup log:

    SFXCA: Extracting custom action to temporary directory: C:WindowsInstallerMSI5E6C.tmp-
    SFXCA: Failed to get requested CLR info. Error code 0x80131700
    SFXCA: Ensure that the proper version of the .NET Framework is installed, or that there is a matching supportedRuntime element in CustomAction.config. If you are binding to .NET 4 or greater add useLegacyV2RuntimeActivationPolicy=true to the <startup>
    element.
    CustomAction FixArpRegistryKeyPermissions returned actual error code 1603 (note this may not be 100% accurate if translation happened inside sandbox)
    Action ended 12:01:39: InstallFinalize. Return value 3.

    I have tried UR1 and UR2, just in case.

    Any ideas?


    MCITP, MCSE, MCTS

Ответы

  • Hey Richard, I was able to install it last Friday. Even though .Net 3.5 is not a requirement for the product, it seems to be for the update. After installing framework 3.5, the update worked fine.

    Thanks for asking,

    Jose


    MCITP, MCSE, MCTS

    • Помечено в качестве ответа

      1 октября 2013 г. 19:42

SOliyhan

Hi,
I want to use a custom dialog before the app installation and upgrade that will help me set some values like configuring proxy something else. How do I proceed with it using Custom UI. Thanks

SOliyhan

Hi,
I have been trying to cancel the install/uninstall process to ensure a rollback is performed when cancel button click event is called. I am not able to cancel the on going uninstall process to prevent the removal of application if cancel button is clicked. Although I am successfully able to prevent installation during install action. Any suggestions ?

DarthSidius

banner.Image = MsiRuntime.Session.GetEmbeddedBitmap(«WixUI_Bmp_Banner«);

error CS1929: ‘ISession «does not contain a definition for «GetEmbeddedBitmap», and the most appropriate overloaded extension method «Extensions.GetEmbeddedBitmap (Session, string)» requires the presence of a» Session «type

Line 20 must be: banner.Image = MsiRuntime.MsiSession.GetResourceBitmap("WixUI_Bmp_Banner");

paokakis

I’m not sure if I should post this here but here I go.
I had an installer for a project that I’m building which worked fine 6 months ago. Without any changes in the installer project I tried to build today and got the following error :

`light.exe : error LGHT0001: Catastrophic failure (Exception from HRESULT: 0x8000FFFF (E_UNEXPECTED))

Exception Type: System.Runtime.InteropServices.COMException

Stack Trace:
at Microsoft.Tools.WindowsInstallerXml.Cab.Interop.NativeMethods.CreateCabFinish(IntPtr contextHandle, IntPtr newCabNamesCallBackAddress)
at Microsoft.Tools.WindowsInstallerXml.Cab.WixCreateCab.Complete(IntPtr newCabNamesCallBackAddress)
at Microsoft.Tools.WindowsInstallerXml.CabinetBuilder.CreateCabinet(CabinetWorkItem cabinetWorkItem)
at Microsoft.Tools.WindowsInstallerXml.CabinetBuilder.ProcessWorkItems()`

I’m not sure if I’m doing something wrong. I tried to change the generation of Cab files to multiple files in case the size of the MSI is too big for the OS. One note since the last time that I built the installer I upgraded my OS to Windows 11, if that matters.

The version of wix is 3.11.2

jfquarto

Is there a way to change the ProductVersion (AssemblyInformationalVersion) of a bundle via Wix# code ?

KapuKapu

Actual

Nuget package: v1.20.3

Adding a FileShortcut which contains a «+» symbol

var company = "Foo+Bar";
...
new FileShortcut(PROJECT_NAME, $@"%ProgramMenu%{company}"),

results during the build process in

C:srcInstallerInstaller_V1.14.0.0.wxs(12): error LGHT0094: Unresolved reference to symbol 'Directory:ProgramMenuFolder.Foo2bBar' in section 'Product:{1977810A-00DB-4C9E-B14C-9E79B69A1F28}'. [C:srcInstallerInstaller.csproj]

Expected

Should behave like nuget package v1.20.2.

No, error should occur and a menu entry should be visible after installer is successfully executed.

Karol-Zdunek

Hello. I found possible issue when doing «Change» installation (Managed Setup with custom UI).
(using WixSharp 1.20.3)
In one of the custom UI dialog I am reading «TRAVELDATE_OPTION» data from the user and assigning it to MsiRuntime.Data which is a
«Repository of the session properties to be captured and transfered to the deferred CAs.»
my code:

void next_Click(object sender, EventArgs e)
{
    MsiRuntime.Data["TRAVELDATE_OPTION"] = radioButton1.Checked ? "FlexDate" : "ExactDate";
    Shell.GoNext();
}

Its all works fine for standard installation — I can access this variable/data in «AfterInstall» event:

project.AfterInstall += args => {
    if (!args.IsUninstalling)
    {
        args.Data.TryGetValue("TRAVELDATE_OPTION", out var dateOption);
        ...
    }
};

the problem is happening when I run Change installation — simply args.Data does not contain «TRAVELDATE_OPTION» key
Is this a bug or I simply need to handle this logic somehow different in case of Change or Repair installation?

josejobin45

Hi,

I created a bundle with 2 msi’s and it is working fine. But after I sign it with some certificate it is not working. I believe it is because the bundle is 32 bit. How can I change it to 64 bit.

Thanks.

serezlan

Hi,

I need to create variable in beforeInstall event and use it in AfterInstall event.
If I set property in pre-install event and access it in post install, I get the following error

cannot access session details from non-immediate custom action
Is there solution for this?

Thanks

igorekRnd

I built the MSI package using cscs.exe from a VM and it installs without error. I’m trying to do the same through wine, the package is 2 MB more than in Windows, and during installation it gives an error unpacking user functions. That is, I see the initial form and then the error. Tried building with wine-mono and also installed various dotnets in wine. The result is the same. The error is like this:

SFXCA: Extracting custom action to temporary directory: C:usersigorTempmsi6d4c.tmp-
SFXCA: Failed to extract to temporary directory. Cabinet error code 1.

I myself tried to solve this problem for 2 days, but could not. Please help. I can write my email for quick feedback.

Wixsharp version 1.20 (latest)
Wix Version 3.1.1
wine version 7.22

serezlan

Hi,

When I installed newer version, I can see in «Add/Remove Program» that the old one is still there.
Here’s my code:

var project = new ManagedProject(GetProductNameWithVersionNumber(),
new Dir(string.Format(«%ProgramFiles%{0}{1}», cfg[Util.Config.CompanyNameKey], cfg[Util.Config.ProductNameKey]),
new Files(cfg[Config.BaseDirKey] + «.«)));

        project.GUID = new Guid(cfg[Config.ProductGUIDKey]);
        project.ProductId = Guid.NewGuid();
        project.UpgradeCode = new Guid(cfg[Config.UpgradeCodeKey]);
        project.Version = GetVersionNumber();

        project.MajorUpgradeStrategy = MajorUpgradeStrategy.Default;
        project.MajorUpgradeStrategy.RemoveExistingProductAfter = Step.InstallInitialize;

Could you help me find out what’s wrong?

Thanks

pr4v33nv3rm4

Hi,
We have a wix# code that was generating reliable MSI for a long time, given we use to do the manual installation and provided all the properties using managed UI.

Now there is a need to automate the installation process and we have a windows service (running as a local user with admin rights) that is invoking msiexec with parameters and /quiet.

Installation is working fine but whenever we try to uninstall the build manually (using the same user account which was used for installation) either from «uninstall shortcut» or «from programs & features» or via the MSI remove option it simply shows success and removes the entry from programs & features but doesn’t remove any of the installation files.

The same behavior is observed if giving uninstall command to the windows service (which has done the installation) note: uninstall is using ManagementObjectSearcher and InvokeMethod(«Uninstall», null) and not using msiexec -x.

However, if the same MSI is installed manually using UI, it is getting uninstalled also properly.
Any help would be appreciated to narrow down my RCA.

RobinCollie

Eerything I’ve tried has bounced back with «Sequence contains no elements»:

new RegKey(fullSetup, RegistryHive.ClassesRoot, «testing»,
new RegValue(«», «This is the default value»),
new RegValue(«commandLine:», «this is something else»)),

11v1

Hi,

If I have an installer without files by default C:ProgramFilesFolder is created. With LegacyDummyDirAlgorithm = true there is no empty folder. It looks like something went wrong with the non-legacy algorithm.

jjxtra

Writing installer for a service + gui (separate executables). Need to start the gui application when the installer finishes, as it will present critical notifications. My fallback is to ask user to reboot and rely on putting something in the startup shortcuts, but this is a crappy user experience.

If I start using C# process api, it starts as local system. How to make it start as the user who ran the installer?

WayneHiller

I have a setup that runs with Elevated Privileges. InstallPrivileges = InstallPrivileges.elevated.

 var project = new ManagedProject("ABS",
...
new PathFileAction("[SETUPDIR]ABS Setup.exe", "", "SETUPDIR", Return.asyncNoWait,
                                                When.After, Step.InstallFinalize, Condition.NOT_Installed)
);

When running the installation it Prompts for Permission. The ABS Setup.exe seems to run with Elevated Privileges on all Windows except for Windows Server 2019. They must have changed something.

Is this the correct way to run the process? Do I need to Elevate the Privileges of the process somehow in the PathFileAction above?

bodnarpolina

Hello! It’s more a question than an issue. I’m using PackageReference for my NuGet packages. As I’ve read here:wixtoolset/issues#6248 Wix Toool 3 doesn’t support PackageReference. I watched the commit to this issue and it was merged to Wix4 and they have now release candidate which supports PackageReference: https://wixtoolset.org/docs/releasenotes/#v4 As I understand WixSharp uses the installed wix package. So I updated my package from v311 to release candidate. But for some reason wix is still looking for the packages in a directory: packages rather than in global packages: https://learn.microsoft.com/en-us/nuget/consume-packages/managing-the-global-packages-and-cache-folders. So, I’m getting an error that

The system cannot find the file ‘….packagesSplunk.Logging.Common.1.7.2libnet45Splunk.Logging.Common.dll’

So, I don’t know maybe it’s a still Wix tool issue or maybe it’s an integration issue between WixSharp and Wix tool. It would be great if you privide any information. Thanx!

kanhaiyabaranwal

My script wants that it should be run in admin mode. Obviously, it is inconvenient to ask user to always run the shortcut that triggers the script in admin mode. There is already an issue created on this — #302 where you suggested

Try and see if the standard code sample (e.g. InstallFiles) triggers UAC on your system. It supposed to.

I tried with following on my wixsharp project but the shortcut doesn’t start in Admin mode.
project.EnableUninstallFullUI();
project.EnableResilientPackage();
project.InstallPrivileges = InstallPrivileges.elevated;

To me, it looks like running in admin mode is a feature of the shortcut and not of the script.

        project.FindFile(f => f.Name.EndsWith("stopApp.bat"))
       .First()
       .Shortcuts = new[]{
                new FileShortcut("Stop MyApp","%Desktop%"){ AttributesDefinition = @"Icon=app.ico;IconIndex=0"}
               };

Can you please suggest how to make the shortcut always run as administrator.

Torchok19081986

Hallo, i need some Information, how do i create Shortcut or Menupoint for visit homepage.
I tried InternetShortcut, but nothing happens after Install. In Internetshortcut i can set Name, Id, Target and Type, but not in project object. Is there some posibility to do this ?
Thanks for answer.

ronaamishay

Hi,
I tried to use the following syntax to write to registry

var regkey = new RegKey(null, RegistryHive.LocalMachine, "SOFTWARE\WOW6432Node\MyCompanyName\MyCompanyProduct\Install\version", new RegValue("InstallerId", "mypath"));
project.AddRegKey(regkey);

it’s working only if the whole path (….MyCompanyNameMyCompanyProductInstallversion ) exists in registry. in this way, the key and value («InstallerId», «mypath») are added. but if the path or part of it doesn’t exist (for example, MyCompanyProduct doesn’t contain «Install»), nothing happens. How can add the path to registry if doesn’t exist?

Понравилась статья? Поделить с друзьями:
  • Sftp protocol error 31
  • Sftp permission denied error
  • Sftp error listing directory
  • Sftp connection failed kex error
  • Sfml graphics d 2 dll ошибка