Programatically determine if Shared Features installed for VBA

Sometimes users/customers report my Visio application fails with error 438. This usually is the result of a Visio installation where the Office Shared Features do not have VBA enabled/installed.
Is there a way my application installer/setup can determine this?

You can check if corresponding feature is installed for the Visio product (it's called "VBAFiles"). The details depend on the technology you use. Windows Installer has an
API function (there is also
unmanaged version) to determine if a given feature of a given product is installed or not. Note that since there can be many ProductCodes for Visio (depending on edition, language, service
pack, etc), you may need to check them all. For example, Visio 2013 can have ProductCode = "{90150000-0051-0000-0000-0000000FF1CE}". Given this code, you simple check is like this:
installer.FeatureState ("{90150000-0051-0000-0000-0000000FF1CE}", "VBAFiles") = 3
But some numbers in actual ProductCode the user has may be different. Basically, the "stable" parts are:
XXXXXXXX-005Z-XXXX-XXXX-0000000FF1CE
Instead of X you may have more or less anything. Instead of "00ZZ" you may have only a fixed list (see below). The tail is always fixed. The whole list of Visio product codes can be found in this KB article:
KB2786054: Description of the numbering scheme for product code GUIDs in Office
This code snippet (C#) which just iterates over possible combinations for Visio 2007, 2010, 2013:
var installerType = Type.GetTypeFromProgID("WindowsInstaller.Installer");
dynamic installer = Activator.CreateInstance(installerType);
// iterate over all installed products
foreach (var productCode in installer.Products)
// Visio "short-codes" see https://support.microsoft.com/en-us/kb/2786054
var visioCodes = new [] {"0051", "0052", "0053", "0057" };
// if our product code is Visio product code
if (visioCodes.Any(visioCode => Regex.IsMatch(productCode,
string.Format(@"^{{........-{0}-....-....-0000000FF1CE}}$", visioCode))))
// check if VBA is isntalled
var vbaInstalled = installer.FeatureState(productCode, "VBAFiles") == 3;
Another pair of gotchas: user may have more than one Visio installed, and some of them may have VBA installed and some not. Also, this won't work for Visio for office 365, since it's not installed with MSI but streaming. But since you can't really change
anything in Visio 365 install anyways, it doesn't seem to matter.
Not sure if messing with this worth it though :)
-- Nikolay Belyh, http://unmanagedvisio.com

Similar Messages

  • Server 2008 R2 with WSUS need to specify location for Feature install for Server 2012 and Windows 8

    Having a problem where we need to add .net 3.5, amongst other things, in server 2012 and windows 8.1.  We're using WSUS on server 2008 R2, so when I go to add roles or features, I'm not able to as it tries to use Windows Update but it's set to use WSUS.
    I'm aware in server 2012 gpo's that you enable the policy 'specify settings for optional component installation and component repair' in Administrative Templates>System, however that setting is not available in Server 2008 R2.
    I've downloaded the templates from http://www.microsoft.com/en-us/download/details.aspx?id=36991 but the setting is still not there.
    Any suggestions on how to do this/allow feature install with Server 2008 R2?

    Hi,
    To upgrade the Administrative Templates, please run the downloaded msi file, then copy the needed admx files and adml files to the PolicyDefinitions folder.
    For detailed information, please refer to the link below,
    Managing Group Policy ADMX Files Step-by-Step Guide
    http://technet.microsoft.com/en-us/library/cc709647(v=WS.10).aspx
    Best Regards.
    Steven Lee Please remember to mark the replies as answers if they help and unmark them if they provide no help. If you have feedback for TechNet Support, contact [email protected]

  • When installing SQL Server is there a benefit to overriding the defaults for the Shared Feature Directory?

    When installing SQL Server under feature selection you are given the option to change the Shared feature directories. When you choose to change from the default OS drive it seems that the installation
    process still installs a large amount of files on the OS drive and then additional files under a similar drive structure on the alternative drive. Is there any real benefit to changing the default location?
    Additional is there benefit to changing the default location for the installed features, database engine etc. We are trying to create some clean templates that we can bring up in our production
    environment so we are provisioning separate drives for data, logs, backups, tempdbs but as we use the prepare image it seems like splitting the installation of sql server into two separate locations to safe minimally on file space seems counterproductive.
    I have searched for best practices and this area seems glossed over in most articles, I found a few that indicate later installation of features on a machine that use a non-standard shared component
    drive has caused issues. I would like to know there are  benefits to taking such actions.
    Thanks in advance,
    Dirk

    Hello,
    The best reason I can think about installing SQL Server binaries on another drive different than the system drive is the
    fact the page file (pagefile.sys) is located on the system drive by default. The more I/O I can prevent happening on that drive the better for the performance of operating system.
    SQL Server still installs some binaries on the system drive anyway, and creating a partition for SQL Server binaries alone
    may seem like a waste.
    Hope this helps.
    Regards,
    Alberto Morillo
    SQLCoffee.com

  • Master Data Services not available under shared feature while installing SQL server 2012

    Hi,
    I am trying to install Master Data Services but do not see the option to select MDS under the shared features when going through the SQL server 2012 installation. I have the SQL server 2012 SP1 (64 bit) install files. I have also installed SP2. I havent
    found anything online about the issue.
    Can someone please advise?
    I have a screenshot of the installation screen which I will attach as soon as I am able to get my account verified. Thanks!

    Hi Revees,
    This might be a very naïve and also out of the original scope of the thread question.
    We are thinking of going with the developer edition. We have 2/3 developers and some other testers and business users.
    1) I understand that we need a developer license for each developer. But would we need a license for the business user. Can they have a sort of read access to the dbs?
    2) If a developer has MSDN subscription, Would they need to purchase the license too assuming we purchase the developer edition of the software (and not download it using the MSDN subscription)?
    Thanks for your assistance!

  • Missing shared feature Reporting Services Sharepoint and Reporting Services Add-in for Sharepoint products

    Hi, when I try to install SQL Server 2012 SP1 (ISO from Microsoft Download website) on a Windows Server 2012 and try to select the shared feature options: 
    - Reporting Services Sharepoint
    - Reporting Services Add-in for Sharepoint products
    They are both missing from the list.
    How do I solve this? Help!

    Hello,
    Did you download the SQL Server 2012 Express with Advanced Services edition from the Microsoft website? If so, this edition did not support SharePoint Integration mode.
    Just as Alberto post above, Business intelligence features are not all available in all editions of SQL Server 2012. You can refer to the following link about support features in Editions of SQL Server 2012:
    Reference:http://technet.microsoft.com/library/cc645993(SQL.110).aspx#Reporting
    Regards,
    Fanny Liu
    If you have any feedback on our support, please click here.
    Fanny Liu
    TechNet Community Support

  • Feature GUID for list template 10113 is not installed in the farm

    I'm just using a trial of a migration product called Sharegate and it has produced the following error when i connect it to my farm "Feature GUID for list template 10113 is not installed in the farm"
    I've used the missing feature project from codeplex and the wssanalyzefeatures tool and none of them are reporting any issues or even for my guid.
    Could anyone provide any other tips to try and locate this via powershell or the sql database?

    Hi,
    According to your post, my understanding is that you got the “Feature GUID for list template 10113 is not installed in the farm” error.
    The reality is that the feature is installed but has the old feature ID.
    As a workaround, you can
    Go to the concerned feature in the 14 hives, you need to know which feature is concerned with that functionality.
    Change the feature ID to the one raised in the error
    stsadm -o installfeature -name <Feature> -force
    In addition, you can change the ‘Scope’ attribute to either ‘Farm’ or ‘Site’ or ‘Web’ or ‘WebApplication’.
    Here are two similar threads for your reference:
    http://social.msdn.microsoft.com/Forums/office/en-US/689e22ed-9ec9-46ae-b704-b0684a76f72a/feature-for-xxxxxxxx-list-template-xxx-is-not-installed-in-this-farm-vsewss?forum=sharepointdevelopmentlegacy
    http://blogs.msdn.com/b/sowmyancs/archive/2008/04/02/server-error-feature-guid-is-not-installed-in-this-farm-and-cannot-be-added-to-this-scope.aspx
    Best Regards,
    Linda Li
    Linda Li
    TechNet Community Support

  • Adobe Story Plus's sharing features keep failing for my account

    I have been an Adobe Story user since it first launched, when collaboration was included in the free version. Then it split into Adobe Story Free and Adobe Story Plus. Recently, the internship I landed required that I adobt a CC-centric workflow, thus I became a paying member of Adobe Creative Cloud Student Edition  (I am studying film at the University of Texas in Austin), with which came Adobe Story Plus. I upgraded the SAME account I have been using for years. Yet, upon upgrade, I lost all of the projects I had been working on in Story Free prior. Moreover, NONE of the sharing features seem to work for me. These features are imperative to my new position and workflow. I have to constantly collaborate with my teammates. If I share a Story project with my team, they all recieve the invitation but it fails when they try to accept. If they try to share something with me, I just never receive the invite, via email, online story.com, the desktop application, or anything. I hope to find a solution ASAP because my internship is kind of riding on this, and thus my career.
    Thanks in advance!
    -Anish

    Hi Anish,
    Can you please mail the Adobe ID which you are using to login to Story to DL-AdobeStory-support<at>adobe<dot>com? It will help us check the account details from the back-end.
    Thanks
    Aurobinda

  • I use idisk for providing a library of music scores to an orchestra.  Will icloud provide similar file sharing features?

    I use idisk for providing a library of music scores to an orchestra.  Will icloud provide similar file sharing features? As I look at the features list that is published and examine my new icloud account... there seems to be no directory file structure and means to designate public and private directories. If icloud does not support this file sharing and idisk goes away in June 2012 I'll need to secure another file sharing service.  Is this correct?

    Have you tried just copying the iTunes library from the old computer to the new? This may not work so move the original iTunes library before doing it. Quit iTunes, move the iTunes library file (in the iTunes folder) to the desktop. Copy the iTunes library file from the old computer into your iTunes folder and start iTunes. If all is okay, great.
    If not, on the old computer, select each playlist manually and select export. Export the playlist (XML or text, it doesn't matter). Copy to your new computer and import them. This works fine with everything put smartlists. So far I've not found a way to copy them.

  • Missing shared feature Reporting Services Sharepoint

    We have all 64bit servers with Windows Server 2012 Standard Evaluation
    In our SP Farm we decided to have 1 WFE Server, 1 App Server & 1 Sql Server
    In Sql Server we installed "en_sql_server_2012_enterprise_edition_with_service_pack_2_x86_dvd"
    With that we got the following version installed
    Now when we are trying to install SSRS on our App Server we could not see the following Shared Features
    - Reporting Services Sharepoint
    - Reporting Services Add-in for Sharepoint products
    Please suggest me what am i missing or where i was wrong?
    Thanks,
    Naveen.

    Hi Naveen,
    From the image in your post, it seems that there may be something wrong with your setup file of SQL server 2012.
    Please make sure that you are installing SQL server with the intact setup file.
    And the installation of SQL will also be affected by the viruses in your system.
    So please make sure that there is no viruses in your App server.
    As this issue is regarding to SQL server installation, I recommend you to post the question in SQL forum:
    https://social.technet.microsoft.com/Forums/Lync/en-US/home?category=sqlserver.
    More experts will assist you, then you will get more information relation to SQL Server.
    Best regards.
    Thanks
    Victoria Xia
    TechNet Community Support

  • SQL 2008 Instance & Shared features location?

    Hello is there a way to query or find out where both the Instance & Shared features location was installed?
    Thanks in advanced.

    Hello,
    Programmatically you can search the Registry.
    The following registry key has the location of shared components.
    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\100   
    (where 100 is SQL version)
    On the following Registry key you will find the location of the binaries.
    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL11.MSSQLSERVER\Setup
    Value names: 
    SQLBinRoot (REG_SZ), SQLPath (REG_SZ), SqlProgramDir (REG_SZ)
    For more information.
    https://msdn.microsoft.com/en-us/library/ms143547.aspx?f=255&MSPPError=-2147217396
    Hope this helps.
    Regards,
    Alberto Morillo
    SQLCoffee.com

  • I am trying to use the Home Sharing feature but none of my current library is showing up under my Share Library ?

    I recently purchased a new lap top and thought the easiest way to move my library before wiping my old lap top would be the Home Sharing feature.   I have gotten everthing set up for Home Sharing but the library on my current laptop isn't showing under the shared library?  I am using the same account log in that I have always used and the Home Shared library isn't even seeing purchases under my account?  How do I get the Home Shared library to see all my music?

    What operating systems are you running?

  • Home sharing only available for a few minutes

    Hello everyone,
    So I have a strange problem and I'll do my best to explain everything I've tried and my current setup.
    Origonal setup (Was working then just completely stopped)
         Windows Server 2008 (non R2) on an old computer (Currently offline)
              System was Domain Controller, DNS Server, DHCP server and File server as well as running iTunes
    New setup (Thought it would fix the issue)
         Windows Server 2003 (fully updated and freshly installed for the sole purpose of iTunes home sharing)
              Different system then the 2008 and only runs iTunes and AirVideo Server (not joined to domain, never was)
              Linksys router handling DNS, DHCP again since I found out about the .local bonjour "bug" so I shutdown my Domain Controller to test
    I have a Linksys smart Wi-FI router (my old router was dropping wireless connections around the same time so I figured it was the router) with dual band wireless (Cortana and Cortana-2.4). The 2003 ("MediaCentral") is connected via a known good ethernet cable directly to the router. My Macbook Pro (Late 2012) is connected wirelessly to Cortana. All devices (including my parents iPhone 4's) are authorized under my Apple ID and signed into home sharing.
    I start iTunes on my macbook and my iPhone 5 sees the library no problem. I start iTunes on server and my macbook and phone both see it. The server, however, does not see my macbook's library. (which isn't really a big deal anyways). I can connect to the servers library and start watching a movie, heck I can watch the entire movie, faster forword, rewind pause all that stuff. As long as I don't disconnect it seems to work fine. The movie I currently have in the library is Transforms: Dark of the Moon bought on the iTunes store. My parents iPhone's never see the servers library. Our Apple TV see's it the same way my phone does and also sees my macbooks library.
    Here's where things really go weird: If I didn't connect to the servers library within a few minutes of starting iTunes, it will disappear or fail to connect and then disappear (I guess the only reason it didn't disappear earlier was because of like a cache or something) and the only way to make it available again is by restarting iTunes on the server. Those first few minutes are like the golden time frame I guess you can call it. I don't know exactly how long until it stops working but I know it's not a long time. Probably less then five minutes.
    So there's my situation, can anyone provide any guidence or suggestions to help me solve this?
    I will be setting up a new domain controller under server 2012 but with a different domain name (matrix.dustinschreiber.com probably) as to avoid the .local bonjour problem.

    Same issue exactly.  Best thing to di is contact Apple so that they become aware of this regression.  Below is what I have been posting:
    Home sharing with the new Apple TV / iTunes update is just broke.  Only works for a bit unless you restart iTunes or disable / re-enable Home Sharing.  Use to work great until the last updates.  This is not a network (router, firewall, ...) issue - just a (bad) regression in Apples software.  Hopefully they fix this soon, hard to believe its been broke this long already.  The Remote app update also fails to connect to Apple TVs (but does connect to iTunes) for many people as well.  Poor QA all around. :(
    I have yet to see any suggestion that actually works other than reverting to previous versions of fwr / iTunes - which is a pain / joke to do.
    There are a *ton* of posts about this:
    https://discussions.apple.com/message/18078180#18078180
    https://discussions.apple.com/message/18078351#18078351
    https://discussions.apple.com/message/18078326#18078326
    https://discussions.apple.com/message/18078599#18078599
    https://discussions.apple.com/message/18078600#18078600
    https://discussions.apple.com/message/18087017#18087017
    https://discussions.apple.com/message/18082439#18082439
    https://discussions.apple.com/message/18086263#18086263
    https://discussions.apple.com/message/18083552#18083552
    https://discussions.apple.com/message/18103713#18103713
    https://discussions.apple.com/message/18106478#18106478
    etc...

  • Top 10 feature requests for reliability

    As per the Terms of Use:
    Post constructive comments and questions. Unless otherwise noted, your Submission should either be a technical support question or a technical support answer. Feedback about new feature requests or product enhancements are welcome too.
    My top 10 list:
    1) Require enough extra safe guards that users can't accidentally rename their Home folder.
    2) Don't let the Finder become unresponsive and beach-balled when dot-mac mounting is occurring.
    3) Faster Finder list view updating when sorted by last modified.
    4) OS update scripts should perform a hard disk verify before installation. If hard disk does not verify, the user should be told of the risk of proceeding and given directions on how to fix before proceeding.
    5) The filesystem should should be able to fix itself with fsck (ala AppleJack) without being booted from install CD/DVD.
    6) iPhoto Library folder should have an extra layer of protection to keep users from messing with it via the Finder.
    7) Forced shutdown via power key should give OS and filesystem more of a chance for recovery. (Not sure how this would work, but if users are doing this, it should not be so often fatal.)
    8) System maintenance scripts should have a method for running (other than cron) for those who don't leave their computer on 24/7.
    9) & 10) coming soon ...
    What are your feature requests for improved reliability?

    5) The filesystem should should be able to fix itself with fsck (ala AppleJack) without being booted from install CD/DVD.
    David Pogue explains why this can't be done in his Mac OS X: The Missing Manual He basically says that running fsck without an operating system disc is much akin to "a doctor performing an appendectomy on himself." While a method of doing this is provided, naturally fsck itself is not analyzed because it can't do that. To run fsck without an operating system disc, boot into single user mode, holding command-S at startup. Type /sbin/fsck -fy
    followed by return key,
    when done type:
    /sbin/mount -uw /
    followed by return key and when done with that type
    exit. This is documented here:
    http://docs.info.apple.com/article.html?artnum=106214
    Thankfully single user mode provides more safeguards. But they aren't perfect. Fixing the directory is something that should only be done if your data is backed up, and it is obvious you may have a damaged directory. A damaged directory may have the symptoms of a dying hard drive, and it is impossible to tell the difference.
    Apple is readying a really good backup system in Time Machine in Leopard. You can read more about it here:
    http://www.apple.com/macosx/leopard/timemachine.html
    Your best protection for what you are looking for is to learn how to backup your data, as my FAQ* explains:
    http://www.macmaps.com/backup.html
    * Links to my pages may give me compensation.

  • Windows Media feature pack for Windows 8.1 PRO N version?

    Hi, I want to install media feature pack on win 8.1 (PRO N) however its not working as installed application.  says 'this is not for your computer'. I got the link from your public forums (link mentioned in your forums)
    My windows details mentioned below -
    Windows 8.1 Pro N, 32 bit operating system, 64 bit processor, i3
    Please help

    Try:
    Media Feature Pack for N and KN versions of Windows 8.1
    Carey Frisch

  • Clarification on Bootcamp 3.1 install for Windows 7 Support

    Hello all,
    I'm looking for some expert opinon on how the BootCamp 3.1 update is supposed to be performed.
    As some 3rd party websites state that these updates need to be applied prior to the Windows 7 install. While Apple's online documentation talks about installing 7 and then doing the update.
    The reason why I think that apple's process is more accurate is because the 64-Bit driver download is an ".exe" extension. However before I do anything with my MacBook Pro I wanted to find out what others are doing for this OS install process.
    If you could clarify the process it would be appreicated as the Software Update feature in Mac OS X doesn't seem to find any updates related to BootCamp.
    Thanks in advance

    So what you are saying is that even though the bootcamp utility exists and has already allocated my spot for Windows 7 on Snow Leopard Boot camp doesn't exist thus I can't get the 3.1 update yet?
    I'm very familiar with computing terms, and setting up devices... However no documentation really clarifies the whole 3.1 process. All that I can see from apple's perspective is to allocate the bootcamp space. Run the windows 7 install, and then use the snow leopard update and the assoicated drivers (32/64 bit).
    However even with the Mac OS X online, I can't figure out how you get that update as each site talks differently.
    If someone can clarify exactly from an out of box Mac, to snow leopard boot camp allocation and windows 7 install for these 3.1 updates it would greatly help with my confusion points here.
    Thanks!

Maybe you are looking for

  • JVM freeze on SocketRead

    Hi! Try to explain my problem. I have a Servlet (call com.foo.core.ProxyServlet) which uses HttpUrLConnection (it's a proxy). The problem is : after a week all thread are frozen in the same method. Here the thread dump : "ExecuteThread: '26' for queu

  • How do i move files from one user to another user?

    i transferred files, etc. from an ibook G4 to my new macpro. i had 3 users on the older ibook. when i try to open files as one of the users from the ibook on my macpro, it says i do not have permission to open the files. i am the administrator on bot

  • Loop drops when connected wireless (NI 9191)

    Hi, I cannot figure out why a NI cDAQ 9191 chassis has connection drops when connected wireless and works perfectly when connected thru LAN. I wrote a little test VI to check the connection accuracy. The chassis has a NI 9375 I/O module plugged in. A

  • Any Bidirectional sync ways instead of import/export ?

    Q1: Is there any word processing software for mac & ipad that will bi-directional sync instead of importing/exporting ? Q2: Do Pages documents can be bidirectional synced instead of imported/exported ? if yes, how ?

  • How to... Web Printing with Microsoft Excel

    Hi All,  I am working with a client that is trying to get "Web Printing with Microsoft Excel" to work in their specific scenario.  They are on 2004s and trying to get this "Web Printing with Microsoft Excel" to work with 3.5x Web Templates, but can't