This is weird I know but here it is: I have 10 or so satellite offices that I manage and I am rolling the software installs into config free / settings free images to keep onsite for reinstalling crashes etc, all of my files are done except for the Office 2010 installation.
What I am trying to do is this:
The Office Install EXE has been set with the config.xml to silent install with the key for that user and all. it is one disc for all the users and uses a master xml file for keys names etc., the installer asks one question "select the user name" and when the person installing the application hits next button the program inserts the values for that user into the string and writes that to a config.xml in the installation folder for office and starts the install.
when the office install is done it will create the prf file for the outlook profile and run the outlook.exe/importprf \yadda\yadda command.
the application will then say it is done and close.
The Problem in detail:
Now I am not the smartest man on earth so if there is another way to automate the install of retail office suite and automatically install the users profile using some config files i am all for it I just want the least amount of steps on-site as possible. in my solution the installer selects the name then after the profile import has to type in the password and they are done. as a side note is there a setting in the PRF file for a password (using a pop3 account) and a setting for save password? It would be nice but I am sure there isn't.
Now to save time, these are all separate small businesses w/o a DC and each company doesn't have enough licenses to do Open Value Licensing and I already know that all this can be solved using Office Customization Tool to create a prf file with a network install and logon script. Also I already have images of the system to do a bare metal restore these installs are for cases where a full system reinstall are not necessary.
The answer is not in a setup project but in an old fashioned windows form. I realized that:
Well anyway that is my solution to my weird problem, I just posted the answer so that if anyone else had to do something like this they would have it.
Example:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Windows.Forms;
using System.Diagnostics;
namespace waitforexittesting
{
static class Program
{
static void Main()
{
LaunchCommandLineApp();
}
static void LaunchCommandLineApp()
{
// Use ProcessStartInfo class
ProcessStartInfo startInfo = new ProcessStartInfo();
startInfo.CreateNoWindow = false;
startInfo.UseShellExecute = false;
startInfo.FileName = "C:\\googletalk.exe";
startInfo.WindowStyle = ProcessWindowStyle.Hidden;
try
{
// Start the process with the info specified.
// Call WaitForExit and then the using statement will close.
using (Process exeProcess = Process.Start(startInfo))
{
exeProcess.WaitForExit();
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new Form1());
}
}
catch
{
// Log error.
MessageBox.Show("The file could not be found.",
"My Application",MessageBoxButtons.OKCancel, MessageBoxIcon.Asterisk);
}
}
}
}