WIX installer for VSTO Word Template for Word 2013 not working correctly - ms-word

I developped a VSTO based Word Template and a WIX based installer for it.
In general the installer works fine, except on Windows 8.1 with Office 2013 (32Bit).
For som unknown reason Office 2013(32Bit) is installed at "C:\Program Files" and the related registry key is pointing to it correctly.
During execution of the msi package for the Word Template, the registry key seems to be modified as shown in logfile of msiexec:
MSI (c) (18:98) [09:10:34:954]: WIN64DUALFOLDERS: 'C:\Program Files (x86)\' will substitute 17 characters in 'C:\Program Files\Microsoft Office 15\Root\Office15\WINWORD.EXE' folder path. (mask argument = 0, the folder pair's iSwapAttrib member = 0).
As a consequence Winword.exe is not found and the installer stops.
I'm using this WIX Code to check whether Word 2010 or newer is installed:
<Property Id="WORDEXEVERSION"
Secure="yes">
<RegistrySearch Id="RegSearch_WORDEXE"
Root="HKLM"
Key="SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\Winword.exe"
Type="file">
<FileSearch Name="WINWORD.EXE"
MinVersion="14.0.0.0" />
</RegistrySearch>
</Property>
<Condition Message="Word 2010 or newer is required."><![CDATA[Installed OR WORDEXEVERSION]]></Condition>
On other machines with Win 8.1 and Office 2013(32Bit) where Office is installed to "C:\Program Files (x86)" everything works fine.
Does anyone have an idea why Office 2013 could have been installed to the obviously wrong folder or how to make msiexec behave as expected?

The user might have forced the install to go there, that may be possible, or the actual system may have done an in-place upgrade to a 64-bit OS and so the stuff in Program Files will stay there.
What's the purpose of the detection? To see if Word is installed? I ask because I seem to remember that templates have their own folder somewhere and that's where you'd install your template.

Related

Enable Windows Office Features (OneNote Office Standard 2013)

Been researching this for a bit and haven't found a good solution. Some users use OneNote but most don't even have it installed. We are looking for a way to enable OneNote and install on all of our machines (thinking powershell or msi file). We have a managed installations distributor that we would like to use (KACE SMA). I can't seem to find a working msi or script to enable OneNote for Office Standard 2013. Has anyone gotten this to work/any tips would be greatly appreciated. Thanks!
I think OneNote is available as a standalone install for free now.
Check https://www.onenote.com/Download
There is a 'Windows Desktop' download. If you run the installer with the /? argument you will be presented with the following options:
PS C:\Users\User\Downloads> .\setuponenotefreeretail.x86.en-us_.exe /?
PS C:\Users\User\Downloads>
Office Deployment Tool
SETUP [mode] [path]
SETUP /download [path to configuration file]
SETUP /configure [path to configuration file]
SETUP /packager [path to configuration file] [output path]
SETUP /customize [path to configuration file]
SETUP /help
/download Downloads files to create an Office installation source
/configure Adds, removes, or configures an Office installation
/packager Produces an Office App-V package from an Office installation source
/customize Applies settings for Office applications
/help Displays this message
So I guess you will need to present it with a configuration file similar to the one you use for the click-to-run installer for Office.
Check if this version does what you need it to do and then try to find a configuration file online if you want to deploy it automatically.
I hope this helps.

Oracle - SQL Developer: msvcr100.dll is missing from your computer

Have installed 11g in Windows 7 (64 bit machine). Since the SQL developer wont work with 64 bit jdk.
Installed the 32 bit jdk1.7.0
and changed the ORACLE_HOME\sqldeveloper\sqldeveloper\bin\sqldeveloper.conf file SetJavaHome point to 32 bit jdk1.7.0.
Again started the SQL developer, but it throws msvcr100.dll missing. Find that the SQL Developer3.x supports at max jdk1.6.X.
Even tho the question is answered I would like to point out that downloading random DLLs from untrusted sources should be avoided.
If you are missing MSVCR100.DLL just install the correct redist for your platform.
32Bit: Microsoft Visual C++ 2010 SP1 Redistributable Package (x86)
http://www.microsoft.com/de-de/download/details.aspx?id=8328
64Bit: Microsoft Visual C++ 2010 SP1 Redistributable Package (x64)
http://www.microsoft.com/en-us/download/details.aspx?id=13523
Cheers,
Antonio Huete
These information is specified in ORACLE_HOME\sqldeveloper\releasenotes . So install the jdk1.6 and make the sqldeveloper.conf SetJavaHome point to this.
other workaround is go to jdk1.7.0 installed path jdk1.7.0\jre\bin copy msvcr100.dll and paste it into ORACLE_HOME\sqldeveloper\sqldeveloper\bin and again try start SQL Developer. It will start.
And The file is from
This file was downloaded from: http://www.dll-files.com
If you downloaded it from somewhere else, please let us know: http://www.dll-files.com/contact.php
Installation instructions:
Extract the .dll file from .zip file. We recommend that you extract the .dll to the installation directory of the program that is requesting the .dll.
If that doesn't work, you will have to extract the .dll to your system directory. By default, this is:
C:\Windows\System (Windows 95/98/Me)
C:\WINNT\System32 (Windows NT/2000)
C:\Windows\System32 (Windows XP, Vista, 7, win 8)
If you use a 64-bit version of Windows, you should also place the .dll in C:\Windows\SysWOW64\
Make sure to overwrite any existing files (but make a backup copy of the original file for safety).
Reboot your computer.
If the problem still occurs, try the following:
Open Windows Start menu and select "Run...".
Type CMD and press Enter (or if you use Windows ME, type COMMAND)).
Type regsvr32 .dll and press Enter.
If you have any other problems, see our HELP-section at www.dll-files.com/support/
I have just downloaded latest 4.1.3 version with jdk included - Windows 64-bit with JDK 8 included to my Windows Server 2008 R2 64-bit and faced the same problem. Could not start sqldeveloper.exe, because "msvcr100.dll is missing from your computer".
I did not want to install any additional bloatware, so what I did:
take msvcr100.dll from original download SQLDeveloper folder sqldeveloper\jdk\jre\bin
and copy it to Your's oracle installation bin folder, in my case - C:\oraclexe\app\oracle\product\11.2.0\server\bin
SQL developer started!
Edit (path)\sqldeveloper.sqldeveloper\bin\sqldeveloper.conf with Notepad++ or some other advanced text editor. Don't use Windows Notepad for this.
Locate the SetJavaHome variable. Replace "../../jdk" with your regular PC Java source. On mine it was "C:\Program Files\Java\jdk1.8.0_73".
The line looks like this when you're done:
SetJavaHome C:\Program Files\Java\jdk1.8.0_73
Save and exit.
I got this error while running Oracle JDeveloper.
I have copied the msvcr100.dll file from C:\Windows\System32 to C:\Program Files\Java\jdk1.8.0_261\jre\bin.
It worked for me. Also check the enviromental varibles settings.
The JDK needs msvcr100.dll to either be located in the same directory as sqldeveloper.exe OR already be installed on a Windows machine in a location defined in environment path variable. In testing SQL Developer install on various Windows 7 machines where I have other software installed (not a clean machine), the msvcr100.dll is installed on C: \Windows\system32\msvcr100.dll.
you may get it from sqldeveloper\jdk\jre\bin\msvcr100.dll(refer your installation dir)
I was facing the same issue and it worked for me.
For me the solution was to simply upgrade SQL Developer. When work changed over my laptop I copied SQL Developer between machines and I got the above error except for msvcr120.dll. I copied that dll from my old machine but then it needed another and then another. So I downloaded the latest version of SQL developer and the errors went away. It might not solve the issues for everything but I think updating to the latest version should be done before trying any of the other solutions.

MSI File/Registry failures on Windows Server 2008/Windows 7 (x64)

I'm trying to deploy an application on Windows Server 2008 (SP2 x64) and Windows 7 (x64), using VS2005 Installer Project. The MSI version (I think) it the 2.0.
Everything works fine, except that some registry keys and some files are not copied on the install machine. The MSI system doesn't notify about nothing (and I don't know whether MSI logs its operations).
Are there incompatibilities between my MSI installer project and these new OSes? It seems to me that the OS protect itself for being modified in some part.
For example, I'm trying to set the registry keys:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\WinLogon\SpecialAccounts\UserList\User
but it is not created. In the same installer there are many other keys, which are created like expected (as they always did before on Windows XP and Windows Server 2003).
To provide another example, I'm trying to install the file
%SystemFolder%\oobe\info\backgrounds\backgroundDefault.jpg
(where %SystemFolder% is typically "C:\Windows\System32"), but the file is not copied at all!!!
What's going on?
I've found the backgroundDefault.jpg file is located in another directory: %SystemRoot%\SysWOW64\oobe\info.
But I've not specified nothing about a System (64 bit) folder. How can I copy the file in the right place?
First, regarding logging, you can request MSI to create a log file of its operations like this:
msiexec.exe -i my_msi_file.msi -l*vx logfile.txt
This will create a log file called logfile.txt.
Second, it sounds like you're creating a 32-bit MSI and running it in 64-bit Windows. There is nothing wrong with this, but be aware that Windows is using file system redirection. Windows has a separate SystemFolder and HKLM/SOFTWARE keys to host 32-bit applications. If you look in the Registry at HKLM/SOFTWARE you'll probably see a sub-key called Wow6432Node -- this is where 32-bit apps write their Registry data.

XLL doesn't properly load

I've got a XLL Addin and I'm trying to run it under Excel 2007 XP without VBA installed.
My addin is well registered (OPEN key as /R "C:\Program Files (x86)\MyAddin\myAddin.xll" in HKEY_CURRENT_USER\Software\Microsoft\Office\12.0\Excel\Options). When debuging, I see that DLLMain is called... but not xlAutoOpen (neither others xlSomethings functions): my UDFs are thus not registered (it was done in xlAutoOpen).
Do I miss something ? Do I absolutly need VBA installed ? If yes, is there another way to avoid installing it ?
I had the same issue. When I installed Office I deliberately did not install any Excel Add-Ins -- it looks like this actually cripples the loading of any future Add-ins.
After running the Office installer again and choosing to install the 'built-in' Add-Ins, I finally hit my xlAutoOpen breakpoint.

How can I make Single Installer for my Different version of Office Addin

Any one knows how can I make an Installer Common for the both office 2003 / 2007 plugin.
Installer should automatically select the appropriate Office Version (2003/2007), depends on which Office is installed.
I'm using VS2008, Extensibility - Shared Addin, for my Office Plugin. I have 2 Projects for 2003 and 2007, I want to make a Common Installer for both.
is anybody has done similar thing prior ?
I need a deployment (msi) package such that user doesn't need to choose which version he needs to use.
Ive used this bat file command in the past to install the correct PIAs perhaps you can find it useful, if there is "HKLM\SOFTWARE\Microsoft\office\12.0\Excel" means that Office 2007 Excel is installed ect...
#Echo off
:BEGIN
CLS
reg query "HKLM\SOFTWARE\Microsoft\office\12.0\Excel" || GOTO INSTALL11
REM *************** INSTALLING OFFICE 12 PIA *****************************
%programfiles%\{InstallFolder}\O2007PIA.msi /passive
exit
:INSTALL11
reg query "HKLM\SOFTWARE\Microsoft\office\11.0\Excel" || GOTO INSTALLNOTHING
REM *************** INSTALLING OFFICE 11 PIA *****************************
%programfiles%\{InstallFolder}\O2003PIA.msi /passive
exit
:INSTALLNOTHING
REM ... Clean up left out for brevity
perhaps you could write a msi script that does the same.
The link below explains how to tell if Office XP is installed. I'm sure a similar page exists for all other recent versions of Microsoft Office. You can even filter by specific versions of Office XP.
http://office.microsoft.com/en-us/orkXP/HA011364611033.aspx
I used the "target the lowest common demoninator" strategy as explained here. It worked well for me.
That is quite easy.
within you msi you only need to search for the key paths of the office installations.
this key paths are documented by microsoft.
Office 2003 Keypath and Default Installation Settings workbooks
there are also documents for other office version.
maybe you can also use the find related products feature from installer in detect mode.
MSI Upgrade Table
after detecting the versions you need only an expression on the components/feature