2

Hey guys I am trying to build a setup for my application but it does not seem to want to work.

I ran it with -l switch to get the install log, it looks like it is looking for a folder called "_8D5342EDA5924BABBF19E5682639F820" but that folder doesn't exist in the development environment. Where is it getting this from?

here is the log file: https://pastebin.com/Y8BRAFjA

=== Logging started: 3/22/2018  12:26:49 ===
Action 12:26:49: INSTALL. 
Action start 12:26:49: INSTALL.
Action 12:26:49: DIRCA_CheckFX. 
Action start 12:26:49: DIRCA_CheckFX.
INFO   : [03/22/2018 12:26:50:124] [CheckFX                                 ]: Custom Action is starting...
INFO   : [03/22/2018 12:26:50:124] [CheckFX                                 ]: CoInitializeEx - COM initialization Apartment Threaded...
INFO   : [03/22/2018 12:26:50:124] [CheckFX                                 ]: MsiGetPropertyW - Determine size of property 'VSDFrameworkVersion'
INFO   : [03/22/2018 12:26:50:124] [CheckFX                                 ]: Allocating space...
INFO   : [03/22/2018 12:26:50:124] [CheckFX                                 ]: MsiGetPropertyW - Getting Property 'VSDFrameworkVersion'...
INFO   : [03/22/2018 12:26:50:124] [CheckFX                                 ]: Property 'VSDFrameworkVersion'  retrieved with value 'v4.6.1'.
INFO   : [03/22/2018 12:26:50:124] [CheckFX                                 ]: MsiGetPropertyW - Determine size of property 'VSDFrameworkProfile'
INFO   : [03/22/2018 12:26:50:124] [CheckFX                                 ]: Property 'VSDFrameworkProfile'  retrieved with value ''.
INFO   : [03/22/2018 12:26:50:124] [CheckFX                                 ]: Set VSDNETMSG with the FrameworkVersion.
INFO   : [03/22/2018 12:26:50:134] [CheckFX                                 ]: MsiGetPropertyW - Determine size of property 'VSDNETMSG'
INFO   : [03/22/2018 12:26:50:134] [CheckFX                                 ]: Allocating space...
INFO   : [03/22/2018 12:26:50:134] [CheckFX                                 ]: MsiGetPropertyW - Getting Property 'VSDNETMSG'...
INFO   : [03/22/2018 12:26:50:134] [CheckFX                                 ]: Property 'VSDNETMSG'  retrieved with value 'This setup requires the .NET Framework version [1].  Please install the .NET Framework and run this setup again.'.
INFO   : [03/22/2018 12:26:50:134] [CheckFX                                 ]: MsiSetPropertyW - Setting Property Value...
INFO   : [03/22/2018 12:26:50:134] [CheckFX                                 ]: MsiSetPropertyW - Setting property 'VSDNETMSG' to 'This setup requires the .NET Framework version v4.6.1.  Please install the .NET Framework and run this setup again.'.
INFO   : [03/22/2018 12:26:50:134] [CheckFX                                 ]: MsiGetPropertyW - Determine size of property 'VSDNETURLMSG'
INFO   : [03/22/2018 12:26:50:134] [CheckFX                                 ]: Allocating space...
INFO   : [03/22/2018 12:26:50:134] [CheckFX                                 ]: MsiGetPropertyW - Getting Property 'VSDNETURLMSG'...
INFO   : [03/22/2018 12:26:50:134] [CheckFX                                 ]: Property 'VSDNETURLMSG'  retrieved with value 'This setup requires the .NET Framework version [1].  Please install the .NET Framework and run this setup again.  The .NET Framework can be obtained from the web.  Would you like to do this now?'.
INFO   : [03/22/2018 12:26:50:134] [CheckFX                                 ]: MsiSetPropertyW - Setting Property Value...
INFO   : [03/22/2018 12:26:50:134] [CheckFX                                 ]: MsiSetPropertyW - Setting property 'VSDNETURLMSG' to 'This setup requires the .NET Framework version v4.6.1.  Please install the .NET Framework and run this setup again.  The .NET Framework can be obtained from the web.  Would you like to do this now?'.
INFO   : [03/22/2018 12:26:50:134] [CheckFX                                 ]: MsiSetPropertyW - Setting Property Value...
INFO   : [03/22/2018 12:26:50:134] [CheckFX                                 ]: MsiSetPropertyW - Setting property 'VSDFXAvailable' to 'TRUE'.
INFO   : [03/22/2018 12:26:50:134] [CheckFX                                 ]: Writing config file with version: '4.0'...
INFO   : [03/22/2018 12:26:50:134] [CheckFX                                 ]: Creating Config File...
DEBUG  : [03/22/2018 12:26:50:134] [CheckFX                                 ]: Calling MsiGetActiveDatabase...
DEBUG  : [03/22/2018 12:26:50:134] [CheckFX                                 ]: Calling MsiDatabaseOpenView...
DEBUG  : [03/22/2018 12:26:50:134] [CheckFX                                 ]: Calling MsiViewExecute...
DEBUG  : [03/22/2018 12:26:50:134] [CheckFX                                 ]: Calling MsiViewFetch...
DEBUG  : [03/22/2018 12:26:50:134] [CheckFX                                 ]: Calling MsiRecordDataSize...
INFO   : [03/22/2018 12:26:50:134] [CheckFX                                 ]: MsiSetPropertyW - Setting Property Value...
INFO   : [03/22/2018 12:26:50:134] [CheckFX                                 ]: MsiSetPropertyW - Setting property 'VSDFxConfigFile' to 'C:\Users\EZEKIE~1\AppData\Local\Temp\CFG81DE.tmp'.
INFO   : [03/22/2018 12:26:50:134] [CheckFX                                 ]: Custom Action succeeded.
INFO   : [03/22/2018 12:26:50:134] [CheckFX                                 ]: Custom Action completed with return code: '0'
Action ended 12:26:50: DIRCA_CheckFX. Return value 1.
Action 12:26:50: AppSearch. Searching for installed applications Property: [1], Signature: [2]
Action start 12:26:50: AppSearch.
Action ended 12:26:50: AppSearch. Return value 1.
Action 12:26:50: VSDCA_VsdLaunchConditions. 
Action start 12:26:50: VSDCA_VsdLaunchConditions.
INFO   : [03/22/2018 12:26:50:164] [VsdLaunchConditions                     ]: Custom Action is starting...
INFO   : [03/22/2018 12:26:50:174] [VsdLaunchConditions                     ]: CoInitializeEx - COM initialization Apartment Threaded...
INFO   : [03/22/2018 12:26:50:174] [VsdLaunchConditions                     ]: Enumerating table using SQL statement: 'SELECT * FROM `_VsdLaunchCondition`'
INFO   : [03/22/2018 12:26:50:174] [VsdLaunchConditions                     ]: Calling MsiGetActiveDatabase...
INFO   : [03/22/2018 12:26:50:174] [VsdLaunchConditions                     ]: MsiDatabaseOpenViewW - Prepare Database to view table...
INFO   : [03/22/2018 12:26:50:174] [VsdLaunchConditions                     ]: TMsiViewExecute - Open Database view on table...
INFO   : [03/22/2018 12:26:50:174] [VsdLaunchConditions                     ]: Checking a launch condition...
INFO   : [03/22/2018 12:26:50:174] [VsdLaunchConditions                     ]: Getting the condition to evaluate...
INFO   : [03/22/2018 12:26:50:174] [VsdLaunchConditions                     ]: MsiRecordGetStringW - Fetching value...
INFO   : [03/22/2018 12:26:50:174] [VsdLaunchConditions                     ]: MsiRecordGetStringW - Getting value from column '1'...
INFO   : [03/22/2018 12:26:50:174] [VsdLaunchConditions                     ]: Evaluating condition 'VSDFXAvailable'...
INFO   : [03/22/2018 12:26:50:174] [VsdLaunchConditions                     ]: RESULT:  Condition is true. Nothing more to do.
INFO   : [03/22/2018 12:26:50:174] [VsdLaunchConditions                     ]: Custom Action succeeded.
INFO   : [03/22/2018 12:26:50:174] [VsdLaunchConditions                     ]: Custom Action completed with return code: '0'
Action ended 12:26:50: VSDCA_VsdLaunchConditions. Return value 1.
Action 12:26:50: LaunchConditions. Evaluating launch conditions
Action start 12:26:50: LaunchConditions.
Action ended 12:26:50: LaunchConditions. Return value 1.
Action 12:26:50: CCPSearch. Searching for qualifying products
Action start 12:26:50: CCPSearch.
Action ended 12:26:50: CCPSearch. Return value 1.
Action 12:26:50: RMCCPSearch. Searching for qualifying products
Action start 12:26:50: RMCCPSearch.
Action ended 12:26:50: RMCCPSearch. Return value 0.
Action 12:26:50: ValidateProductID. 
Action start 12:26:50: ValidateProductID.
Action ended 12:26:50: ValidateProductID. Return value 1.
Action 12:26:50: DIRCA_TARGETDIR. 
Action start 12:26:50: DIRCA_TARGETDIR.
Action ended 12:26:50: DIRCA_TARGETDIR. Return value 1.
Action 12:26:50: CostInitialize. Computing space requirements
Action start 12:26:50: CostInitialize.
Action ended 12:26:50: CostInitialize. Return value 1.
Action 12:26:50: FileCost. Computing space requirements
Action start 12:26:50: FileCost.
Action ended 12:26:50: FileCost. Return value 1.
Action 12:26:50: IsolateComponents. 
Action start 12:26:50: IsolateComponents.
Action ended 12:26:50: IsolateComponents. Return value 1.
Action 12:26:50: CostFinalize. Computing space requirements
Action start 12:26:50: CostFinalize.
DEBUG: Error 2727:  The directory entry '_8D5342EDA5924BABBF19E5682639F820' does not exist in the Directory table
Info 2898.For VSI_MS_Sans_Serif13.0_0_0 textstyle, the system created a 'MS Sans Serif' font, in 0 character set, of 24 pixels height.
DEBUG: Error 2835:  The control ErrorIcon was not found on dialog ErrorDialog
The installer has encountered an unexpected error installing this package. This may indicate a problem with this package. The error code is 2835. The arguments are: ErrorIcon, ErrorDialog, 
The installer has encountered an unexpected error installing this package. This may indicate a problem with this package. The error code is 2727. The arguments are: _8D5342EDA5924BABBF19E5682639F820, , 
MSI (c) (18:78) [12:26:51:254]: Product: Setup1 -- The installer has encountered an unexpected error installing this package. This may indicate a problem with this package. The error code is 2727. The arguments are: _8D5342EDA5924BABBF19E5682639F820, , 

Action ended 12:26:51: CostFinalize. Return value 3.
Action 12:26:51: FatalErrorForm. 
Action start 12:26:51: FatalErrorForm.
DEBUG: Error 2826:  Control Line1 on dialog FatalErrorForm extends beyond the boundaries of the dialog to the right by 4 pixels
The installer has encountered an unexpected error installing this package. This may indicate a problem with this package. The error code is 2826. The arguments are: FatalErrorForm, Line1, to the right
DEBUG: Error 2826:  Control Line2 on dialog FatalErrorForm extends beyond the boundaries of the dialog to the right by 4 pixels
The installer has encountered an unexpected error installing this package. This may indicate a problem with this package. The error code is 2826. The arguments are: FatalErrorForm, Line2, to the right
DEBUG: Error 2826:  Control BannerBmp on dialog FatalErrorForm extends beyond the boundaries of the dialog to the right by 4 pixels
The installer has encountered an unexpected error installing this package. This may indicate a problem with this package. The error code is 2826. The arguments are: FatalErrorForm, BannerBmp, to the right
Info 2898.For VsdDefaultUIFont.524F4245_5254_5341_4C45_534153783400 textstyle, the system created a 'MS Sans Serif' font, in 0 character set, of 24 pixels height.
Info 2898.For VSI_MS_Sans_Serif16.0_1_0 textstyle, the system created a 'MS Sans Serif' font, in 0 character set, of 29 pixels height.
Action 12:26:51: FatalErrorForm. Dialog created
Action ended 12:26:52: FatalErrorForm. Return value 1.
Action ended 12:26:52: INSTALL. Return value 3.
=== Logging stopped: 3/22/2018  12:26:52 ===
MSI (c) (18:78) [12:26:52:777]: Windows Installer installed the product. Product Name: Setup1. Product Version: 1.0.0. Product Language: 1033. Manufacturer: Default Company Name. Installation success or error status: 1603.
Ezekiel Hammond
  • 115
  • 1
  • 13
  • It's not looking for a folder, it's looking for an internal directory name in the MSI file. These are generated by Visual Studio and it's extremely weird that a database row is missing from the Directory table. If you've included a merge module, or maybe altered the MSI in some way that could explain it. – PhilDW Mar 25 '18 at 19:57
  • @PhilDW I didn't change anything, created the setup project, built it and ran it. And that's what I get – Ezekiel Hammond Mar 25 '18 at 20:10
  • I redid it again and it worked... Weird – Ezekiel Hammond Mar 25 '18 at 20:52

4 Answers4

2

I had the exactly same problem. In the end, I discovered that it was caused by satellite assemblies of my project's dependencies. No idea why :-(

The problem was solved after I added the following line to .csproj file of the project whose published files were used by the installer:

<SatelliteResourceLanguages>en</SatelliteResourceLanguages>

After this is added, there will be no language-specific folders in bin with names like fr-FR, zh-Hans etc. and setup project will generate MSI that no longer throws 2727 error.

It would be great if anyone knows explanation of this and what would you do if you wanted satellite assemblies to be part of the installer.

lot
  • 1,434
  • 18
  • 23
1

I had a similar problem. I create configuration projects (created as an "empty" project type in VS) and include the "Content" of that project in the installer. The binaries get included as a merge module.

In my configuration project, there was a subdirectory named "Policies" with several files in it. All of my "content" files in this directory showed relative path "Policies\filename" except for one... it showed "policies\filename". Note the lower-case "p". I removed and re-added the file, which then showed up with relative path "Policies\filename" and this fixed the 2727 error.

Weird, but it worked.

Bob C
  • 391
  • 2
  • 10
1

I've just had the same issue so - for the future generations - I will leave the resolution here:

Probably the file definitions that come from VS are wrong. So first of all you have check the output files by going to:

  1. Properties of the output group
  2. Output field and clicking "..."
  3. It will show you the result, files that will be copied
  4. So you have to validate if the list is OK and there's no duple slash like \\

VDProj editing the output

That was the issue for me. I edited the visual studio project to force it to copy web files from parent directory to the project by:

  <ItemGroup>
    <ContentWithTargetPath Include="..\web-app\build\**">
      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
      <TargetPath>wwwroot%(RecursiveDir)\%(Filename)%(Extension)</TargetPath>
    </ContentWithTargetPath>
  </ItemGroup>

And there was \ that was resolved to \\ and caused this issue.

andrew.fox
  • 7,435
  • 5
  • 52
  • 75
0

I was also having the exact same error, but a slightly different cause than the other answers. I have a setup project which just has my main project's publish items. This is what I saw when I inspected my publish items output in the setup project.

The issue was that the installer was trying to copy all files related to one nuget package (CefGlue.Common) to a path starting with \. I looked at the package's repo and found that it was trying to copy these files to a path like $(OutputDirectory)\. My fix was just to define the property in my main project's .csproj like so: <OutputDirectory>.</OutputDirectory>

After making that change, the publish item output now looked like this.

Tristan
  • 51
  • 1
  • 3