Here's the situation:

I need to deploy an MSI that installs SketchUp 2015. That part of the equation works just fine. I also need to apply a set of files that land in the [AppDataFolder] for any user who logs into a machine with the app installed. So far I've attempted to use self-healing but have not been able to make it work the way I have on other deployments. Because of this I am attempting to apply the files via Active Setup. I have created an .EXE in AdminStudio that contains Features, Components, and within those Components, the files that need to be applied in the user's App Data directory.

If I run the .EXE on it's own (not the one placed on the system during the install but my source file version, it works fine. However, if it runs at login via Active Setup, or if I launch it manually from Explorer, it fails with the following message..

"Error 1309. Error reading from file: C\Program Files\SketchUp\SketchUp 2015\Application Data\SketchUp\SketchUp 2015\SketchUp\Plugins|su_solarnorth\extension_info.txt System error 3. Verfiy that the file exists and that you can access it."

The obvious problem I see is it is not looking in the correct directory for the files. It should be looking in the [INSTALLDIR] which is C:\Program Files\SketchUp\SketchUp 2015. For some reason, either during the Add File process into the MSI or during the installation, the directory path is being altered and telling it to look in a folder that doesn't exist. I've gone back and forth with the MSI and testing installs but haven't been able to uncover the problem. Does anyone see anything obvious that I am missing?


4 Comments   [ + ] Show Comments


  • Hmmm...self-healing didn't work so you set out to make it even more complicated?!?!

    The most common mistakes when getting self-healing to work are:
    - not setting an HKCU key path for the user-level component
    - not making the feature containing the user-level component the parent of a feature containing an advertised entry-point (normally, an adevrtised shortcut).
    • When you consider the fact that I used SCCM and Software Center to deploy apps, its actually a lot cleaner to take advantage of Active Setup because I'm not relying on persisting content in the client cache and don't require direct access to the MSI, and it doesn't require reworking the shortcuts to be Advertised since they almost never are from the vendor.

      While attempting to make self-healing work, I had the HKCU key path set correctly, created a separate Feaure named CurrentUser and had maade it the parent to all other Features. I've made it work before on other installs which is why it was frusterating not having it work on this one.
  • >not relying on persisting content you can 'Run from DP', then and *always* have access to the MSI :-)

    >reworking the shortcuts
    What?!? No script to convert non-advertised s/c to advertised ones? Now I know what other packagers do all day! Ha, ha, ha! much work is that, exactly? Most apps would have, what, half a dozen? And how many MSIs for such apps require user-level components?
    • The shortcut creation obviously isn't the main concern here. No it doesn't take long to convert them. My point is that Active Setup isn't significantly more work than Self healing assuming it works. You'd be suprise how much is required to be installed in a user directory. Since I posted about SketchUp that's what we are talking about here, not about "other" MSIs so that's pretty irrelevant to bring up. I will try running from a DP.
  • Did you create a verbose log of the installation to see what value was set for the property you added to the registry table to create the active setup entry? Did you check whether INSTALLDIR was the correct property to use?
    Frankly, I agree with VBscab that it's trivial to make shortcuts advertised, but it is true to say that non advertised shortcuts are often hiding the fact that the vendor did not run validation on their MSI before release, or otherwise did not know how to fix the errors that validation threw up.
  • Also, Active Setup is a one-off. If your users delete anything of import from their profile...tough! Well, tough on you because then you're stuck with pushing out a new version of the package. With self-healing, however, it's set-and-forget.

    Anyway, I know which way I'd go every time but horses for courses.
Please log in to comment

There are no answers at this time


Answer this question or Comment on this question for clarity