[wix-users] ConfiguresmbUninstall is failing when 'Installing' on French system.

Bob Arnson bob at firegiant.com
Wed Jun 22 08:52:02 PDT 2016


No encoding issues. It's not documented but there's a length limit on description (and others) of 72 characters. It's completely arbitrary, as far as I can tell, so feel free to file an enhancement request to embiggen the limit.

-----Original Message-----
From: wix-users [mailto:wix-users-bounces at lists.wixtoolset.org] On Behalf Of Phill Hogland
Sent: Wednesday, 22 June, 2016 10:52
To: WiX Toolset Users Mailing List <wix-users at lists.wixtoolset.org>
Subject: Re: [wix-users] ConfiguresmbUninstall is failing when 'Installing' on French system.

We have confirmed that the same error (The data area passed to a system call is too small) is observed when either the French or Spanish MSI packages are used.  Eng, German, Italian, Japanese, Chinese(Simplified), and Korean translated Description strings are all process successfully.

The Spanish string is:
"La carpeta del Sistema MyFolder es usada por los sistemas Company y los clientes"

Even when I remove the characters from the French string which have the accents, the modified French MSI package fails with the same error.

I know that the use of the countof macro is encouraged by the code style, but I wonder if the issue is related to the macro's assumption that all characters in what was originally declared in the wxl file as a utf-8 string are all of the size = sizeof[0]?  I wonder if using ::StringCchLength would be a better choice, but I admit my lack of expertise on character encoding issues.  Also I am not clear on whether the ::StringCchCopy spec of cchDest being one more than the length of the string is being covered with countof.
________________________________________
From: Phill Hogland
Sent: Wednesday, June 22, 2016 6:53:36 AM
To: WiX Toolset Users Mailing List
Subject: Re: [wix-users] ConfiguresmbUninstall is failing when 'Installing'     on      French system.

Sorry, it is:
The data area passed to a system call is too small.

The log indicates:
Début de l'action 14:52:00 : ConfigureSmbUninstall.
ConfigureSmbUninstall:  Error 0x8007007a: Failed to copy description string to smb object
ConfigureSmbUninstall:  Error 0x8007007a: failed to read FileShare table CustomAction ConfigureSmbUninstall returned actual error code 1603 (note this may not be 100% accurate if translation happened inside sandbox)


________________________________________
From: wix-users <wix-users-bounces at lists.wixtoolset.org> on behalf of Bob Arnson <bob at firegiant.com>
Sent: Tuesday, June 21, 2016 4:13:45 PM
To: WiX Toolset Users Mailing List
Subject: Re: [wix-users] ConfiguresmbUninstall is failing when 'Installing'     on      French system.

What's the HRESULT?

-----Original Message-----
From: wix-users [mailto:wix-users-bounces at lists.wixtoolset.org] On Behalf Of Phill Hogland
Sent: Tuesday, 21 June, 2016 17:04
To: WiX Toolset Users Mailing List <wix-users at lists.wixtoolset.org>
Subject: [wix-users] ConfiguresmbUninstall is failing when 'Installing' on French system.

I just got this report from QA and have done limited research, so I plan to dig deeper tomorrow.  But maybe someone has advice on how to sort out this issue.


I have a MSI (in my bundle chain) which is batch built for eight locales with a common external cab file.  This package has been working on EN, DE, JP, and KO that I am aware of, but when tested on FR, while doing an Install on a clean system, the MSI fails when calling ConfiguresmbUninstall action.


The log indicates first that "Failed to copy description string to smb object" then it indicates "failed to read FileShare table"


So it is tripping on this code in ScaSmbRead() of scasmbsched.cpp:

        hr = WcaGetRecordFormattedString(hRec, ssqDescription, &pwzData);
        ExitOnFailure1(hr, "Failed to get Share Description for FileShare: '%ls'", pss->wzShareName);
        hr = ::StringCchCopyW(pss->wzDescription, countof(pss->wzDescription), pwzData);
        ExitOnFailure(hr, "Failed to copy description string to smb object");

My wxl is authored as:
      <Component Id="shareMyFolder" Directory="MYFOLDER">
        <RegistryValue Root="HKMU" Key="!(wix.PropertiesRegKey)" Name="shareMyFolder_Ver" Value="[ProductVersion]" Type="string" KeyPath="yes" />
        <util:FileShare Id="shareMyFolder" Name="MyFolder" Description="!(loc.MyFolder_Description)">
          <util:FileSharePermission GenericAll="yes" User="Everyone" />
        </util:FileShare>
      </Component>


When I look at the FR MSI with orca the entries are the same for each MSI, except that the Description is a French string.

"Le dossier du système MyFolder est utilisé par les systèmes Company et les clients."


  Tomorrow I hope to substitute out that string to see if that makes any difference. The WixUtilExtesion is only localized for EN, PT, DE, and JP, but I have strings for the other locales in my MSI.  I guess I am looking for any advice as to why ::StringCchCopyW would fail in this situation.  Is the countof yielding an incorrect result for the accented chars?


Phill

____________________________________________________________________
WiX Toolset Users Mailing List provided by FireGiant http://www.firegiant.com/

____________________________________________________________________
WiX Toolset Users Mailing List provided by FireGiant http://www.firegiant.com/

____________________________________________________________________
WiX Toolset Users Mailing List provided by FireGiant http://www.firegiant.com/


More information about the wix-users mailing list