Quantcast
Channel: wixsharp Discussions Rss Feed
Viewing all 1354 articles
Browse latest View live

New Post: Wix# has moved to GitHub


New Post: Wix# has moved to GitHub

New Post: Wix# has moved to GitHub

New Post: Wix# has moved to GitHub

New Post: Wix# has moved to GitHub

New Post: Custom Action could be not found

$
0
0
It's hard for me to comment as I have no specific information about your project specifics. One thing is for sure that you cannot use DLL as a target. The build script needs to be compiled into executable so MSBuild can run it to build the msi.

For not found file you can always debug and see what exactly is missing (though it's not trivial). Most likely there are some problems with the assembly probing.

As for install/uninstall actions, i personally prefer ManagedProject events. No ambiguity at all:
project.BeforeInstall += msi_BeforeInstall;
project.AfterInstall += Project_AfterInstall;
Have a look at "Setup Events" sample. There is also sample for the registry search, but again if you go with setup events then registry lookup is just a C# routine that you will find plenty of online samples for. And Wix# already comes with Tasks library that simply takes product's GUID and tells you if it is installed (see CustomUISequence sample).

As for COM, there were a few discussions in this discussions board about this topic. You will be able to find them.

Please use GitHub (https://github.com/oleg-shilo/wixsharp) for further discussions.

Just trying to make it more noticeable that Wix# has moved to GitHub

New Post: Changing registry permissions

$
0
0
Hi Martin, not sure I understand what you mean.
Wix# comes with file permissions sample (Wix# Samples\Permissions) but it has nothing to do with "registry permissions". Is it just typo?

Please use GitHub (https://github.com/oleg-shilo/wixsharp) for further discussions.

Just trying to make it more noticeable that Wix# has moved to GitHub

New Post: Wix# has moved to GitHub


New Post: Wix# has moved to GitHub

New Post: Wix# has moved to GitHub

New Post: localization

New Post: Issue in merging multiple VSTO projetcs into single MSI at runtime

$
0
0
We are using Visual studio 2015 professional version for creating PowerPoint Add-ins in C#.Net.

We need to create an Windows application which can generate a single MSI at runtime from merging multiple PowerPoint Add-ins, that MSI can install multiple PowerPoint Add-ins with all prerequisites like .Net framework, VSTO, etc on client's machine.

We are using Wix# for merging our PowerPoint Add-ins but we have to install first all prerequisites manually before installing the Wix# generated MSI.

We follow the below process:
  1. First we publish our PowerPoint Add-ins by using Visual Studio 2015 "Click Once Deployment" and set some prerequisites like VSTO runtime, etc.
  2. We merge these multiple Add-ins at run time using Wix#.
But we are facing problems with generated MSI:
  1. After merging add-ins, generated MSI blocks prerequisites installation which sets using Visual Studio 2015 "Click Once Deployment".
  2. How to install Prerequisites from generated MSI
  3. How to set Publisher/Manufacturer for MSI using Wix#
Please help how to create MSI at run time which can install first all prerequisites and then PowerPoint addins one-by-one.

Thanks in advance.

New Post: Issue in merging multiple VSTO projetcs into single MSI at runtime

$
0
0
Sorry, The project has been moved to GitHub: https://github.com/oleg-shilo/wixsharp

Thus it's too easy to miss a new post here.

Your questions:
  1. All MSI installs are atomic. If one is started another one has to wait. It is an expected MSI behavior.
  2. You cannot install prerequisites from msi (MSI constraint). You will need to have your prerequisites as a separate msi and invoke it before invoking your primary msi. If you have any sort of a bootstrapper application them you can do it programmatically from there with Process.Start. If you don't have any GUI you may want to use MSI/WiX bootstrapper for this. See Wix# Bootstrapper samples.
  3. See profuctInfo sample:
project.ControlPanelInfo.Manufacturer = "My Company";

New Post: Issue in merging multiple VSTO projetcs into single MSI at runtime

$
0
0
Thanks for your response.

Actually we are combining VSTO setups (.exe files) into a single MSI using Wix#.

We set all prerequisites in the above .exe before merging them into MSI.

That exe files check/install all prerequisites before installing addins but after converting into MSI using Wix# they fail to install prerequisites.

I think there is some probleming in converting VSTO addins into MSI.

Please suggest how to merge multiple VSTO addins into a MSI.

Note : we install addins by excuting .exe files using Process.start() method with the help of custom actions of Wix# project

New Post: Issue in merging multiple VSTO projetcs into single MSI at runtime

$
0
0
The challenge you are facing is not Wix# specific but an MSI one.

> We set all prerequisites in the above .exe before merging them into MSI
I am not sure what do you mean. MSI merging is only possible for MSM (merge modules). Most likely you meant something else as the merging technique is not applicable to exe files.

> we install addins by excuting .exe files using Process.start()
It means that it isn't any different to just double clicking in the explorer. However if you schedule your exe execution for the stage after your combined msi installation sequence is started your exe setup will always fail for the reason #2 in my previous post.

From what I am gathering your scenario is consistent with the bootstrapper use-case. Boostatrapper is a "shell" application that invokes multiple embedded msi or exe setups in a sequential order.

WiX does offer support for bootstrappers and you can use Wix# to build one (see Bootstrapper samples).

Though sometimes (depending on the deployment complexity) a custom bootstrapper of a "Hello World!" complexity is also a valid option.

New Post: Reading Config file content on before_install event

$
0
0
Hi,

Is it possible to include the config file of the wixsharp project into MSI and read the key, value from the file during msi_before install event?

I have some hardcoded values in this method and my client has raised escalation for this. Please suggest any work around. Thanks in advance.

New Post: Reading Config file content on before_install event

$
0
0
Yes it is possible. There are various ways to achieve this but I would rather pure .NET way.

Have your config/ini file as a managed resource in your WixSharp VS project. Then access the resorce content at runtime via resource managedr as you would do with any other resource (e.g. text file, image)

Please note that Wix# has migrated to GitHub: https://wixsharp.codeplex.com/

New Post: WixSharp Version

$
0
0
Hi,

I am trying to work out how I can set the version number in code and am not clear how to do it.
I want to generate two MSIs so the second one can upgrade the first one.

So in the sample code I want to generate two MSIs. MSI1 and MSI2. MSI2 will then upgrade MS1.

How can I change the code to make it work?

Thanks,

Ward
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

using WixSharp;

/* ------------------------------ WIX Packages -------------------------------------- 

Get-Package

Id                                  Versions                                 ProjectName                                                                                                                            
--                                  --------                                 -----------                                                                                                                            
WiX                                 {3.10.3}                                 WixTest2
WixSharp.bin                        {1.4.0.0}                                WixTest2

Install-Package WiX
Install-Package WixSharp.bin

 ---------------------------------------------------------------------------------------- */

namespace WixTest2
{
    class Program
    {
        static void Main(string[] args)
        {
            string compiler_path = System.IO.Directory.GetParent(@"../../.").FullName + @"\Packages";

            compiler_path += @"\WiX.3.10.3\tools";

            Compiler.WixLocation = compiler_path;

            Guid Msi_Guid = new Guid("6f330b47-2577-43ad-9095-1861ba25889b");

            WixSharp.Project project1 = new Project("MSI1")
            {
                Name = "Test",
                Description = "MSI Test",
                GUID = Msi_Guid                
            };

            project1.ControlPanelInfo.Manufacturer = "ACME";
            Compiler.BuildMsi(project1);

            WixSharp.Project project2 = new Project("MSI2")
            {
                Name = "Test",
                Description = "MSI Test",
                GUID = Msi_Guid
            };

            project2.ControlPanelInfo.Manufacturer = "ACME";
            Compiler.BuildMsi(project2);
        }
    }
}

New Post: WixSharp Version

New Post: Including an 3rd exe install

$
0
0
(Sorry for the bad title, but it can't be edited)

Previously, using WixSharp 1.0, we had an 3rd party exe (an installer) that was included in our source files. A custom action started the exe at the end of our install.

Now, having upgraded to the latest via NuGet, the same project gets an error during:

System.BadImageFormatException: Could not load file or assembly 'file:///C:\3rdparty.exe' or one of its dependencies. The module was expected to contain an assembly manifest.

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.InternalLoadAssemblyName(AssemblyName
assemblyRef, Evidence assemblySecurity, RuntimeAssembly reqAssembly,
StackCrawlMark& stackMark, IntPtr pPrivHostBinder, Boolean
throwOnFileNotFound, Boolean forIntrospection, Boolean suppressSecurityChecks)
at System.Reflection.RuntimeAssembly.InternalLoadFrom(String assemblyFile,
Evidence securityEvidence, Byte[] hashValue, AssemblyHashAlgorithm
hashAlgorithm, Boolean forIntrospection, Boolean suppressSecurityChecks,
StackCrawlMark& stackMark)
at System.Reflection.Assembly.ReflectionOnlyLoadFrom(String assemblyFile)
at WixSharp.AsmReflector.OriginalAssemblyFile(String file)
at System.Runtime.Remoting.Messaging.StackBuilderSink._PrivateProcessMessage
(IntPtr md, Object[] args, Object server, Object[]& outArgs)
at
System.Runtime.Remoting.Messaging.StackBuilderSink.SyncProcessMessage(IMessage
msg)
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 WixSharp.AsmReflector.OriginalAssemblyFile(String file)
at
WixSharp.Utils.<>c__DisplayClass4_0.<OriginalAssemblyFile>b__0(AsmReflector
asm)
at WixSharp.Utils.ExecuteInTempDomain[T](Func2 action)
at WixSharp.Utils.OriginalAssemblyFile(String file)
at WixSharp.Compiler.PackageManagedAsm(String asm, String nativeDll,
String[] refAssemblies, String outDir, String configFilePath, Nullable
1
platform, Boolean embeddedUI, String batchFile)
at WixSharp.Compiler.ProcessCustomActions(Project wProject, XElement
product)
at WixSharp.Compiler.GenerateWixProj(Project project)
at WixSharp.Compiler.BuildWxs(Project project, String path, OutputType type)
at WixSharp.Compiler.BuildWxs(Project project, OutputType type)
at WixSharp.Compiler.Build(Project project, String path, OutputType type)
at WixSharp.Compiler.Build(Project project, OutputType type)
at MsiBuilder.MsiBuilder.Build() ...

=> var msi = Compiler.BuildMsi(project);

Ideas?

Pete
Viewing all 1354 articles
Browse latest View live


<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>