How to find bitness of Outlook in WIX bootstrapper? - outlook

I need to install applications to a PC depending on the bitness of installed MS Office package. How can I check for the bitness of MS office package within the WIX bootstrapper assembly ? I have multiple package groups within my bootstrap project.

Check the value at either of these keys:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\XX.0\Outlook\Bitness
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Office\XX.0\Outlook\Bitness
If you need to use the registry to determine the version of Outlook, look at:
HKEY_CLASSES_ROOT\Outlook.Application\CurVer

Related

Automation of office word 2010 - library not registered

The solution is very simple but impossible.
I have office 2010 and office 2012 installed, VB6 fails to create a Word application object giving me no more than just a message saying that the DLL is not registered.
All attempts to remove and restore the DLL using the installer or third party DLL fails.
After removing everything office related and only installing office 2010, the application object gets created successfully. But this is not a viable solutions for our customers: we can't have them removing their Office suites for this.
Is there any other way?
I had a similar issue on my dev machine with two versions of office. Cast your eye over this article from Microsoft support they mention the /regserver command line option. The article is Office automation when multiple versions of Office are installed. By the looks of it I don't think you can force it to pick one version or the other but the /regserver will help you in your dev environment.

Visual Studio 2010 and Clickonce: old .NET and office prerequisites

I am currently preparing an application in Visual Basic, mostly targeted on systems with .NET 2 installed and office 2003.
Moreover, as the systems are corporate ones, they need administrstion rights, so I had in mind an app that does not need to install anything (or register).
The application uses an external ocx, an axwebbrowser ocx and an excel interop.
The first problem stands because a user cannot run the application as it crashes, seeming because cannot find on his system ahdocvw.dll. is there a way to install for example a redistr package that includes the axwebbrowser system xomponent? At least to append it on the clickonce setup.
Second, in case that the user does not have the required framework, I would like to add on the Clickonce prerequisite box, the option for .NET 2 and office 2003. Right now, VS 2010 has only available .NET 3.5+ and Office Pia 2007.... could you suggest to me on how to proceed?

Install Shiled 2008 - how to add a MSU (MSI?) as a prerequisite and install by condition

i have Install Shield 2008 Express Edition and a Setup project which create's a exe and and msi installer. Now as our application uses HLP files as a help system and HLP files are not supported natively on Windows Vista and newer i need to add to the setup an prerequsite installation of the Help Viewer for Windows Vista, 7, 2008 which can be downloaded from here:
http://www.microsoft.com/downloads/en/details.aspx?FamilyID=258aa5ec-e3d9-4228-8844-008e02b32a2c### and is in MSU (Microsoft Update format)
Also i need to make a conditionall install which means that i need to detect if the setup is running on Vista, 7 2008 and then detect if 32-bit or 64-bit and the install the correct MSU. Is this possible and if yes how to do it in installshield 2008 express?
I see in the Redistributables section only predefined prerequisites. How can i add own, custom?
The Express SKU of InstallShield doesn't provide a means for creating custom prereq (.PRQ ) files. The files are simple XML documents though and with a trial version of InstallShield Pro/Prem. you could author one and then drop it in the directory for Express to consume.
Checkout my blog article describing how to author a prereq. The details would depend on the specific MSU you are authoring.
Using InstallShield 12 to Install .NET Framework 3.0

How to create MSI package, which can install Windows installer itself

Is it possible to create MSI package, which will run without Windows installer installed in system, but first will install Windows installer itself, and then continue installing other components?
The goal is to create prerequisite package for our software, which must install some components, including some operation system service packs. We also prefer using MSI package. But it's obviously to us that our software will be installed on clean operation system. Though there will not be needed Windows installer present. Is it possible to create such prerequisite package using MSI?
No, there is no way to install an .MSI package without Windows Installer already being present in the OS.
However, Windows Installer has been a native part of Windows since Windows 2000. Are you really developing installers for Windows 95/98/NT4? That would be the only case where there is no Windows Installer support and you'd need to install a redistributable MSI package first.
Unless you meant to say that you require a higher version of Windows Installer than is native to one of the older OSes? (e.g. MSI 3.1 for WinXP) In that case, you'll need to bundle the .MSI redistributable for the MSI package you desire and run that first. Sometimes a reboot is required, other times not. YMMV.
One way, you can write an application in cpp or c or any language that does not require any additional frameworks or SDKs, to check for the installer and install it programatically.
It sounds like you need a bootstrapped with two or more msi files in it. Take look at the WiX documentation. WiX has build-in bootstrapped
Hope this helps
s

What does the EXE do in the Visual Studio setup project output

We are working on a winforms app in Visual Studio 2005 and the setup project we created output both an MSI and an EXE. We aren't sure what the EXE file is used for because we are able to install without the EXE.
It's a bootstrapper that checks to make sure that the .NET Framework is installed, before launching the MSI. It's pretty handy.
I suggest using something like SFX Compiler to package the two together into one self-extracting .exe and then launch the extracted setup.exe. This way you retain the benefits of the bootstrapper, but your users only download a single thing.
Edit: also see
The official line: MSDN documentation
Some bootstrapper customization: some guy's blog post about what he did
The EXE checks if Windows Installer 3.0 is present and downloads and installs it if it's not. It's needed only for Windows 2000 or older. Windows XP and newer all have Windows Installer 3.0 out of the box.
Other prerequisites, like .NET, are checked for by the MSI itself.
I think the EXE is just a wrapper/bootstrapper for the MSI in case you don't have Window Installer. If you have the requisite Windows Installer version installed then the MSI should work fine on its own.

Resources