Installation Package

Jul 19, 2013 at 10:38 AM
Hi,

is it possible to provide an installation package (msi) that does not load the necessary files (dependencies) from the internet, but includes them in the install package?

Background: In our company, only administrators may install programs, but for security reasons, they don't have internet access. Therefore it is simply impossible to install the package, even if all the components are installed, the setup procedure tries to connect to the internet and as it fails it does not install.

Best wishes
Michael
Coordinator
Jul 21, 2013 at 7:04 PM
I think that you could easily edit the setup project to tell it to not to download any of the prerequisites and recompile; that would mean that they would all need to be installed already though. You should be able to include them all inline as well, though I've never worked enough with the installer logic to know how to do it.
Nov 19, 2013 at 11:57 PM
We're having a problem with installing the redaction tool on our PC's. We're currently using Office 2010 and when I try to download the redaction tool, It starts installing it and asks me to agree to a couple of questions. It then says that an error occurred and that the program can't complete the installation. Please send recommendations to fix this error. I think the program is trying to phone home and we have proxy firewall settings that aren't allowing it to do so. Is there a way to get the complete program to install without it needing to phone home? I appreciate any help in this matter.
Nov 20, 2013 at 6:56 AM
Danny,

it is not "phoning home", but there are some requirements for this program, and it tries to download these and install them as well. It took me a while to find out how to do it, best way is to download the source code and add a Setup Project in Visual Studio that does not check the requirements so you can set it up after you are sure you have installed all of them. These are:
  • MS .Net Framework 3.5 SP1
  • Visual Studio Tools for Office 4.0
  • Windows Installer 3.1
I changed a bit more (because I localized the project to German), so it is possible that my setup package is not useful for you. If you don't have experience with Visual Studio and how to modify this project, send me a personal message (just click my name on the left side, and then click the Contact link on the page).

Best wishes
Michael
Aug 7, 2014 at 11:35 AM
Hi Mikel,

Would you be able to help me how to recompile this as an msi package in Visual Studio please? Also the current setup is only works for current user and wanting to know how can this be done for all users?

Thanks.

Regards,
Prabs
Aug 7, 2014 at 7:33 PM
I am on holydays atm, will be back next week and try to help you then.

Best wishes
Michael
Aug 13, 2014 at 6:59 AM
Edited Aug 13, 2014 at 7:00 AM
Hi,

here is what you have to do: Download the source files (from here) and unzip the file to any folder on your hard disk. Then start Visual Studio, select File :: Open Project... and open the file "Word2007RedactionTool.sln" from ~\Word2007RedactionTool (~ = the folder where you unzipped the source code). For the first time this lasts a while as VS is trying to connect to the CodePlex Source Control and is not able to and gives you some error messages about this fact, or it might ask you for a username and password. Confirm the change to Offline Mode when the message appears.

When you use a newer version of VS than VS 2008, a conversion wizard appears. You might just confirm every step (but in my eyes it is not necessary to create a backup).

Then, go to File :: Source Control :: Change Source Control (this might be different, I use a German version of VS, so please look for what it could be). Confirm that you want to remove source control.

Next follow these steps to create a Setup project. Read here about how to Set Deployment Project Properties and here about how to add items to a deployment project. You might as well remove some items, but the most important part is that you choose the option "Load required components from the same place as the application" (or whatever it is, as I said, I use a German VS) - right click the Setup project, choose Properties and click the button "Required components..."

Then compile the solution and you should find an msi file in the appropriate folder (YourSetupProjectFolder\bin\debug or release).

Make sure to install the components mentioned above before you start the setup for this tool, and everything should work fine (please don't test too less times!).

Best wishes
Michael
Aug 15, 2014 at 4:44 PM
Thanks Maikl,

I am getting some error message during the build process, I guess this is something to do with office 2007 not installed on the machine.

I will install 2007 and let you know how it went.

Thank for you help.

Regards,
Prabs
Aug 18, 2014 at 1:15 PM
Hi Maikl,

I am getting following error message during the build, any suggestion? Thank you.

Regards,
Prabs

Error 1 The "FindRibbons" task failed unexpectedly.
System.IO.FileNotFoundException: Could not load file or assembly 'Word 2007 Redaction Tool, Version=1.0.0.0, Culture=neutral, PublicKeyToken=e4cee9d6b34c5f24' or one of its dependencies. The system cannot find the file specified.
File name: 'Word 2007 Redaction Tool, Version=1.0.0.0, Culture=neutral, PublicKeyToken=e4cee9d6b34c5f24'

Server stack trace:
at System.Reflection.RuntimeAssembly._nLoad(AssemblyName fileName, String codeBase, Evidence assemblySecurity, RuntimeAssembly locationHint, StackCrawlMark& stackMark, IntPtr pPrivHostBinder, Boolean throwOnFileNotFound, Boolean forIntrospection, Boolean suppressSecurityChecks)
at System.Reflection.RuntimeAssembly.nLoad(AssemblyName fileName, String codeBase, Evidence assemblySecurity, RuntimeAssembly locationHint, StackCrawlMark& stackMark, IntPtr pPrivHostBinder, Boolean throwOnFileNotFound, Boolean forIntrospection, Boolean suppressSecurityChecks)
at System.Reflection.RuntimeAssembly.InternalLoadAssemblyName(AssemblyName assemblyRef, Evidence assemblySecurity, RuntimeAssembly reqAssembly, StackCrawlMark& stackMark, IntPtr pPrivHostBinder, Boolean throwOnFileNotFound, Boolean forIntrospection, Boolean suppressSecurityChecks)
at System.Reflection.RuntimeAssembly.InternalLoad(String assemblyString, Evidence assemblySecurity, StackCrawlMark& stackMark, IntPtr pPrivHostBinder, Boolean forIntrospection)
at System.Reflection.RuntimeAssembly.InternalLoad(String assemblyString, Evidence assemblySecurity, StackCrawlMark& stackMark, Boolean forIntrospection)
at System.Reflection.Assembly.Load(String assemblyString)
at System.UnitySerializationHolder.GetRealObject(StreamingContext context)
at System.Runtime.Serialization.ObjectManager.ResolveObjectReference(ObjectHolder holder)
at System.Runtime.Serialization.ObjectManager.DoFixups()
at System.Runtime.Serialization.Formatters.Binary.ObjectReader.Deserialize(HeaderHandler handler, __BinaryParser serParser, Boolean fCheck, Boolean isCrossAppDomain, IMethodCallMessage methodCallMessage)
at System.Runtime.Serialization.Formatters.Binary.BinaryFormatter.Deserialize(Stream serializationStream, HeaderHandler handler, Boolean fCheck, Boolean isCrossAppDomain, IMethodCallMessage methodCallMessage)
at System.Runtime.Remoting.Channels.CrossAppDomainSerializer.DeserializeObject(MemoryStream stm)
at System.Runtime.Remoting.Messaging.SmuggledMethodReturnMessage.FixupForNewAppDomain()
at System.Runtime.Remoting.Channels.CrossAppDomainSink.SyncProcessMessage(IMessage reqMsg)

Exception rethrown at [0]:
at System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage reqMsg, IMessage retMsg)
at System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData& msgData, Int32 type)
at Microsoft.Build.Framework.ITask.Execute()
at Microsoft.Build.BackEnd.TaskExecutionHost.Microsoft.Build.BackEnd.ITaskExecutionHost.Execute()
at Microsoft.Build.BackEnd.TaskBuilder.<ExecuteInstantiatedTask>d__20.MoveNext()

WRN: Assembly binding logging is turned OFF.
To enable assembly bind failure logging, set the registry value [HKLM\Software\Microsoft\Fusion!EnableLog] (DWORD) to 1.
Note: There is some performance penalty associated with assembly bind failure logging.
To turn this feature off, remove the registry value [HKLM\Software\Microsoft\Fusion!EnableLog].
Word2007RedactionTool
Aug 19, 2014 at 11:53 AM
Hi Maikl,

I am getting following error message during the build, any suggestion? Thank you.

Regards,
Prabs

Error 1 The "FindRibbons" task failed unexpectedly.
System.IO.FileNotFoundException: Could not load file or assembly 'Word 2007 Redaction Tool, Version=1.0.0.0, Culture=neutral, PublicKeyToken=e4cee9d6b34c5f24' or one of its dependencies. The system cannot find the file specified.
File name: 'Word 2007 Redaction Tool, Version=1.0.0.0, Culture=neutral, PublicKeyToken=e4cee9d6b34c5f24'

Server stack trace:
at System.Reflection.RuntimeAssembly._nLoad(AssemblyName fileName, String codeBase, Evidence assemblySecurity, RuntimeAssembly locationHint, StackCrawlMark& stackMark, IntPtr pPrivHostBinder, Boolean throwOnFileNotFound, Boolean forIntrospection, Boolean suppressSecurityChecks)
at System.Reflection.RuntimeAssembly.nLoad(AssemblyName fileName, String codeBase, Evidence assemblySecurity, RuntimeAssembly locationHint, StackCrawlMark& stackMark, IntPtr pPrivHostBinder, Boolean throwOnFileNotFound, Boolean forIntrospection, Boolean suppressSecurityChecks)
at System.Reflection.RuntimeAssembly.InternalLoadAssemblyName(AssemblyName assemblyRef, Evidence assemblySecurity, RuntimeAssembly reqAssembly, StackCrawlMark& stackMark, IntPtr pPrivHostBinder, Boolean throwOnFileNotFound, Boolean forIntrospection, Boolean suppressSecurityChecks)
at System.Reflection.RuntimeAssembly.InternalLoad(String assemblyString, Evidence assemblySecurity, StackCrawlMark& stackMark, IntPtr pPrivHostBinder, Boolean forIntrospection)
at System.Reflection.RuntimeAssembly.InternalLoad(String assemblyString, Evidence assemblySecurity, StackCrawlMark& stackMark, Boolean forIntrospection)
at System.Reflection.Assembly.Load(String assemblyString)
at System.UnitySerializationHolder.GetRealObject(StreamingContext context)
at System.Runtime.Serialization.ObjectManager.ResolveObjectReference(ObjectHolder holder)
at System.Runtime.Serialization.ObjectManager.DoFixups()
at System.Runtime.Serialization.Formatters.Binary.ObjectReader.Deserialize(HeaderHandler handler, __BinaryParser serParser, Boolean fCheck, Boolean isCrossAppDomain, IMethodCallMessage methodCallMessage)
at System.Runtime.Serialization.Formatters.Binary.BinaryFormatter.Deserialize(Stream serializationStream, HeaderHandler handler, Boolean fCheck, Boolean isCrossAppDomain, IMethodCallMessage methodCallMessage)
at System.Runtime.Remoting.Channels.CrossAppDomainSerializer.DeserializeObject(MemoryStream stm)
at System.Runtime.Remoting.Messaging.SmuggledMethodReturnMessage.FixupForNewAppDomain()
at System.Runtime.Remoting.Channels.CrossAppDomainSink.SyncProcessMessage(IMessage reqMsg)

Exception rethrown at [0]:
at System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage reqMsg, IMessage retMsg)
at System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData& msgData, Int32 type)
at Microsoft.Build.Framework.ITask.Execute()
at Microsoft.Build.BackEnd.TaskExecutionHost.Microsoft.Build.BackEnd.ITaskExecutionHost.Execute()
at Microsoft.Build.BackEnd.TaskBuilder.<ExecuteInstantiatedTask>d__20.MoveNext()

WRN: Assembly binding logging is turned OFF.
To enable assembly bind failure logging, set the registry value [HKLM\Software\Microsoft\Fusion!EnableLog] (DWORD) to 1.
Note: There is some performance penalty associated with assembly bind failure logging.
To turn this feature off, remove the registry value [HKLM\Software\Microsoft\Fusion!EnableLog].