Search Unity

  1. Unity 6 Preview is now available. To find out what's new, have a look at our Unity 6 Preview blog post.
    Dismiss Notice
  2. Unity is excited to announce that we will be collaborating with TheXPlace for a summer game jam from June 13 - June 19. Learn more.
    Dismiss Notice

[RELEASED] Windows Installer for Unity - Easily create an .msi installer for your Unity application

Discussion in 'Assets and Asset Store' started by julienkay, Mar 25, 2022.

  1. julienkay

    julienkay

    Joined:
    Nov 12, 2013
    Posts:
    172
    Easily create a Windows Installer (.msi) package for your Unity application.


    Description
    • Create an .msi package automatically after each build
    • No knowledge of Windows Installer Technology needed
    • Requires minimal configuration - Build your own installer within minutes
    • Easy customization - Create professional looking installers
    • Developed with build automation in mind
    • Scripting access for easy integration in your own build pipeline
    Features
    • Customizable User Interface - Add your own logo and a custom background on welcome and exit screens
    • Specify your own License Agreement / EULA
    • Allow the user to configure the installation directory
    • Allow the user to create a desktop shortcut
    • Create localized installers by choosing from 38 language to better reach your target audience

    Screenshots
    wix-for-unity_AS_banner_v1.1.0.png installer_welcome.png installer_eula.png installer_installdir.png installer_installation.png

    FAQ
    Does my application need an installer?
    The truth is, most traditional Unity applications won’t need one. For gaming applications, you will probably end up uploading to a store like Steam, which already handles packaging and distribution.

    Having an installer is mostly useful for enterprise applications, which are nowadays increasingly created with Unity.

    You can read more about the benefits of MSI for this use case here.

    Does having an installer remove the Windows Security popup that can appear when running a Unity application on a different computer?
    Having an installer does not solve the issue that Microsoft SmartScreen might notify its users with a message that your app is potentially unsafe. The general advice on how to solve this is, that you should both:
    • Code-sign your application by purchasing a certificate from a Certificate Authority.
    • Get your application out to enough users so SmartScreen eventually considers it safe.
      (According to this thread, the message can still pop up even when you've code-signed your application. So it seems signing alone is not enough.)

    Technical Details

    General
    • This asset is distributed as an embedded package in Packages/com.doji.wix/
    Platforms
    • Windows Installer is a technology that's specific to the Windows platform. As such, it is only available for the 'Windows Standalone' build target
    Prerequisites for development/build environment:
    (The asset includes a wizard, making the process of installing these prerequisites a breeze!)

    Limitations:

    • Single self-contained .msi files are only supported up to a size of 2GB. Larger installers can be created, but will result in an installer package that consists of more than a single file. For more information see here.
    Known Issues
    • If you are using the latest .NET 8 make sure to update to the latest version of this asset. Older versions do not support .NET 8
    ---

    Feedback and constructive comments are very welcome!

    Best,
    Julien
     
    Last edited: Apr 5, 2024
    mowax74 likes this.
  2. mgear

    mgear

    Joined:
    Aug 3, 2010
    Posts:
    9,509
    Look great! Definitely getting it soon.

    few questions,
    if user runs updated installer next time, does it remember the correct folder? (to overwrite old version)
    Does the installer still give the regular unknown app warning?
    Do you know if msi installer triggers virus false positives more easily compared to plain full exe?
    Would it be possible to setup it as a web installer? (it downloads content from url or something)
     
    julienkay likes this.
  3. julienkay

    julienkay

    Joined:
    Nov 12, 2013
    Posts:
    172
    Hey, @mgear, thanks for your interest. These are great questions! :)

    Prompting the user for a custom folder during installation is currently not supported. The application will always be installed in Program Files (Program Files (x86) in case you're doing a 32 bit build), so it's always the same folder. But I can see how customizing the install location would be valuable. I've focused on silent installs for the first release, but I will definitely consider adding the ability to simply enable certain standard UI components (e.g. license texts or the custom install locations you mentioned).

    As far as I'm aware, having an .msi installer changes nothing in regards to Windows telling a user when they are executing a file that comes from untrusted sources as outlined here. As outlined in the post you should sign your application. You could argue that when you use an .msi installer you're in an even worse position, because now you technically have to sign both the installer as well as the main executable.

    That's an interesting question. There is currently no built-in support for downloading content during installation. I will explore whether that's something that could be easily added. My gut feeling is, that if you want to have a small base application with potentially large amounts of content loaded in afterwards on demand, you might be better off using something like Unity's Addressable Asset System.
     
  4. julienkay

    julienkay

    Joined:
    Nov 12, 2013
    Posts:
    172
    A small update is available that fixes some minor issues.

    v1.0.1 (March 30, 2022)
    Fixed: 64 bit applications are now correctly installed to %programfiles% and 32 bit applications to %programfiles(x86)%.
    Fixed: "Open Documentation" now actually opens the online documentation in the browser.
    Changed: The default installer name now contains the architecture it was built for.
     
  5. mgear

    mgear

    Joined:
    Aug 3, 2010
    Posts:
    9,509
    one more question,
    would it be possible to place company logo or some image in the installer window?

    (not critical at all, but you know how customers/managers like that kind of things : D
     
    julienkay likes this.
  6. julienkay

    julienkay

    Joined:
    Nov 12, 2013
    Posts:
    172
    No worries, I fully agree and this is valuable feedback :)
    I'm currently working on the customizable UI which lets you add your own images, (as well as a license text and the user-controlled install directory). Should have something to show end of this week, hopefully live on the Asset Store next week. Stay tuned!
     
    mgear likes this.
  7. julienkay

    julienkay

    Joined:
    Nov 12, 2013
    Posts:
    172
    Here's a little preview of what the installer UI will look like once customized.
    [EDIT: Images moved to original post]

    New version should be up at some point next week.
     
    Last edited: May 4, 2022
  8. mgear

    mgear

    Joined:
    Aug 3, 2010
    Posts:
    9,509
    Nice! yeah license field is very much appreciated also.
     
  9. julienkay

    julienkay

    Joined:
    Nov 12, 2013
    Posts:
    172
    The new update is now live on the Asset Store.


    v1.1.0 (April 1, 2022)
    • Added an installer UI that guides the user through the installation, which can be enabled on demand and configured through the settings window.
    • Added the option to customize the UI by providing your own images.
    • Added the option to show an end user license agreement that the user has to accept in order to install the application.
    • Added the option to allow the user to change the installation directory.
    • Updated the settings window to show more useful information about the project data that is used to generate the installer (e.g. Company Name, Product Name and Version from PlayerSettings). It also allows to overwrite some of these values if necessary.
     
  10. julienkay

    julienkay

    Joined:
    Nov 12, 2013
    Posts:
    172
    A new update is available in the Asset Store!

    v1.2.0 (April 11, 2022)
    • Added: If an icon for the application has been set in the PlayerSettings (Project Settings -> Player), it will automatically be used as the icon that is displayed for the application in "Add/Remove Programs".
    • Fixed: The "Package Name" and "Manufacturer" property could display stale information in certain cases.
    • Fixed: Overriding the "Manufacturer" property" could throw errors in certain cases.
     
  11. julienkay

    julienkay

    Joined:
    Nov 12, 2013
    Posts:
    172
    A new version has been released.

    v1.3.0 (May 3, 2022)
    • Added: Desktop Shortcuts. The installer UI can now be configured to show a dialog where the user is able to choose, whether a desktop shortcut should be created during installation. Alternatively, a desktop shortcut can also be created without requiring user permission.
     
  12. julienkay

    julienkay

    Joined:
    Nov 12, 2013
    Posts:
    172
    A new update is available in the Asset Store!

    v1.4.0 (May 5, 2022)
    • Added: Localization / Multi-Language Installers. The installer UI can now be configured to use a specific language out of 38 languages to choose from.
     
    mgear likes this.
  13. julienkay

    julienkay

    Joined:
    Nov 12, 2013
    Posts:
    172
    A new update is available in the Asset Store!

    v1.5.0 (May 20, 2022)
    • Added: The option to create an uninstall shortcut inside the install directory.
     
  14. JudahMantell

    JudahMantell

    Joined:
    Feb 28, 2017
    Posts:
    476
    Hey @juienkay I'm interested in purchasing this, but have a few questions that I didn't see answered.

    If I publish an update for my app, when they download the updated msi file, will that correctly overwrite the previous version? My app is small, so when there's an update available, I just automatically download and open the new installer file.

    I've been using InnoSetup, but I'm looking for a solution that's a bit more integrated into the Unity pipeline.
    Does the version number match the unity app version number, or does that need to be set manually?

    Thanks!
     
    julienkay likes this.
  15. julienkay

    julienkay

    Joined:
    Nov 12, 2013
    Posts:
    172
    Hey @MidnightCoffeeInc, thanks for your interest! :)
    Yes, the default behaviour is, that new versions will overwrite previously installed versions. All you have to do is increment the version number in Unity. So yes, the installer just uses the Unity version number.

    Yes, there's a setting to automatically create an installer each build. You can also kick off the process from script in case you use custom build scripts of your own and only want to do that for release builds. (More on that here)
     
  16. JudahMantell

    JudahMantell

    Joined:
    Feb 28, 2017
    Posts:
    476
    Awesome, I'm going to purchase it soon!

    ...This might be a stretch, but I figured it wouldn't hurt to ask: You wouldn't have something in the works for MacOS too, would you?

    My current pipeline for Mac/PC deployment is to develop and build on PC, transfer the project to Mac, build, and package, then transfer it back to the PC for pushing to the web server. Kinda a nightmare, and I'm looking for any way to streamline the whole process.
     
    julienkay likes this.
  17. julienkay

    julienkay

    Joined:
    Nov 12, 2013
    Posts:
    172
    Yeah, sorry I don't have anything planned in that regards. I actually assumed Unity allows to do a Mac build completely from PC. But then again, I've never developed for Mac, so I'm really the wrong person to ask.
     
    JudahMantell likes this.
  18. julienkay

    julienkay

    Joined:
    Nov 12, 2013
    Posts:
    172
    Hi @SDC2X,

    it seems that some of the prerequisites are not yet set up. Did you follow the instructions here to install WiX on your machine? The wizard should automatically pop up when first importing the asset leading you through the installation.

    EDIT: For future reference, if the above error appears, restarting your machine should fix the issue.
     
    Last edited: Nov 13, 2022
  19. julienkay

    julienkay

    Joined:
    Nov 12, 2013
    Posts:
    172
    A new version has been released.

    v1.6.0 (June 29, 2022)
    • Added: Support for installer packages larger than 2GB.
    • Fixed: Desktop shortcuts could be created in cases where they shouldn't be, i.e. even if the associated property in the settings windows had been set to ‘Don’t create’.
     
  20. Carpet_Head

    Carpet_Head

    Joined:
    Nov 27, 2014
    Posts:
    260
    This is really handy to get us started! We have a fairly specific used case, so I am currently trying to make modifications to the plugin ourselves, but the two features we are missing so far:

    WiX in a custom directory: Remove all hardcoded Assets/Wix/ paths

    Skip company name in default install directory - just one directory in program files

    Custom binary name - rather than it being explicitly the application name + .exe, specifying it as a function argument, and storing it in BuildInfo

    Permissions - our application has a self-updater, but after the installation is complete, it doesn't have write permissions to the directory so it can't update itself

    Add registry entry - allow us to set up deep linking for our tool automatically
     
    Last edited: Jul 21, 2022
    julienkay likes this.
  21. julienkay

    julienkay

    Joined:
    Nov 12, 2013
    Posts:
    172
    I'm glad you could already use the asset as a starting point.
    Also, this is great feedback. Let's go through these.

    Is your main goal to put the asset into a Plugins folder to improve compilation speed? If so, I'll check how to better support that in the next version.

    This makes sense to provide as an option. I'll add this in the upcoming release.

    You mean the name for the .msi file, right? I guess you could always rename the file in a custom build script yourself. By the way, are you currently using the setting to build the installer package automatically after each build or are you calling WiX.CreateInstaller() manually yourself?
    I'll think about where to best add this option to provide a custom name (either in the settings or as a function parameter as you've suggested).

    If your application is installed to program files, your self-updater will need to run with elevated privileges. I really don't think there's a way around that.

    That's a good idea. If you can elaborate a bit about the specific use cases / behaviour you are after, I might be able to add this feature in the future.
     
  22. Carpet_Head

    Carpet_Head

    Joined:
    Nov 27, 2014
    Posts:
    260
    Thank you for the responses! I'm going to throw the same back at you:

    Generally I would say we are looking at running this plugin from the command line, using unity in batchmode - rather than building manually or using the editor GUI. A custom msi output path would also be helpful

    We have a fairly complex system of where we put our assets, it's a huge project. Having it in the root directory is a bit messy :) I have seen other assets detect their directory before. I think you can use asset guids or something, but don't quote me on that

    Thanks!

    I mean for the .exe file. Basically our project is called Gravity Sketch but due to legacy reasons the project name is Gravity Sketch VR. I basically added a ExeFileName field to BuildInfo, and added my own WiX.CreateInstaller argument to have a different executable name. The default would populate with the name, but our CI can call the code with a custom name

    That's useful info, thanks - I will investigate this more. Maybe the installer editing can run a fresh installer instead

    The short version is that we use this asset
    https://assetstore.unity.com/packag...-seamless-deep-link-and-web-link-assoc-135654
    and it sets up the windows registry on first run - ideally we could move this to the installation step. For now, simply an "automatically run after setup completes" checkbox could cover this, but I will investigate adding it to the registry ourselves
     
  23. hrjunker

    hrjunker

    Joined:
    Nov 15, 2011
    Posts:
    26
    Hi, we have just purchased this package in order to create a .msi file for easier distribution. The plugin seems to do its job, but is there any way that we can have it create a single file instead of installer file + PFiles64 folder?
     
  24. julienkay

    julienkay

    Joined:
    Nov 12, 2013
    Posts:
    172
    Unfortunately this is a limitation of the MSI file format itself. You can read more about that here.

    If you're application exceeds 2GB maybe you can look into downloading assets using Unity's Addressabe Asset System?

    Other than trying to reduce the applications size I don't think there is a way around this limitation.
     
    Last edited: Nov 13, 2022
  25. hrjunker

    hrjunker

    Joined:
    Nov 15, 2011
    Posts:
    26
    Alright, thanks for letting me know, I did suspect it was due to size limits.
     
  26. julienkay

    julienkay

    Joined:
    Nov 12, 2013
    Posts:
    172
    A small heads-up: I'm currently uploading a patch release (v1.6.1) for this asset. The reason is, that if you've newly installed the asset in the past few days you might run into having an incomplete installation of WiX, which results in an error message like the following when trying to create an installer:
    The patched version will be up on the Asset Store as soon as it's approved. If anyone needs the patch earlier, feel free to send an eMail with your invoice number to support@doji-tech.com.
     
  27. julienkay

    julienkay

    Joined:
    Nov 12, 2013
    Posts:
    172
    The patch is now live on the Asset Store.

    v1.6.1 (November 21, 2022)
    • Fixed: Setting up WiX could result in an incomplete installation due to mismatching extension versions.


    If you have been affected by the issue mentioned in my last post, please follow these steps:
    • In the WiX for Unity Wizard, go to 'About WiX for Unity' and select 'Uninstall WiX'
    • Delete the asset from your project
    • Import version 1.6.1 of Windows Installer for Unity from the Asset Store
    • Follow the setup instructions in the wizard as usual
    When setting up new projects in the future, make sure you're using v1.6.1 or above.
     
  28. stingapp

    stingapp

    Joined:
    Aug 13, 2022
    Posts:
    2
    upload_2022-11-21_18-45-38.png

    Hi can only select C drive and when c dont have space, can not select other drive
    Windows 10
     
  29. julienkay

    julienkay

    Joined:
    Nov 12, 2013
    Posts:
    172
    Hey @stingapp, thanks for bringing this up.
    For me to reproduce: Did you have 'Allow changing installation directory' in the settings set to true or false for this installer?
     
  30. stingapp

    stingapp

    Joined:
    Aug 13, 2022
    Posts:
    2
    Sorry it was false! I am sorry I aim from the hips like a cowboy
     
  31. julienkay

    julienkay

    Joined:
    Nov 12, 2013
    Posts:
    172
    No worries, cowboy! :)

    I do agree that the wording here is a bit misleading, when it appears in an installer that doesn't even allow for selecting a custom directory. I'll look into ways to improve that.
     
    Last edited: Nov 21, 2022
  32. julienkay

    julienkay

    Joined:
    Nov 12, 2013
    Posts:
    172
    Last edited: Jan 9, 2023
  33. julienkay

    julienkay

    Joined:
    Nov 12, 2013
    Posts:
    172
    A small patch update is available.

    v1.6.2 (January 25, 2023)
    • Fixed: Having white spaces in your Windows username would result in an error, when trying to create an installer.
     
  34. mowax74

    mowax74

    Joined:
    Mar 3, 2015
    Posts:
    97
    Hi, we purchased your msi builder and i got a few questions:

    - My png-Icon from the player settings is displayed in your WiX settings half transparent, in the installer dialog it is not displayed. It still displays the "your logo here" icon. Also the generated shortcuts have no icon. Do you wish to have a special image format for the icon? I tried also an .ico file, but without luck.

    - How can i set the default path to "program files/appname" instead of "program files/developer/appname"?
     
    julienkay likes this.
  35. julienkay

    julienkay

    Joined:
    Nov 12, 2013
    Posts:
    172
    Thanks for bringing this up. I can see now how the logo situation can be a bit confusing at first. I will update the documentation with the following info:
    - There is the graphic you see in the installer at the top right. We provide a default graphic present in WiX\Editor\Templates. The intention is for you to modify that graphic and design it to your liking. The file format needs to be a .bmp file.
    banner_template.jpg

    - Then there is the ProductIcon which is unrelated to the graphic above. We automatically use the icon you have set in the PlayerSettings as the ProductIcon. It is used for desktop shortcuts and will be displayed in the 'Add/Remove Programs' list so those will match the icon of your executable. The PlayerSettings takes any texture asset in your project, so all file formats that Unity supports are fine here.

    You mentioned, that the generated shortcuts do not have an icon. As outlined above, this should only happen if you created an installer while no icon was set in your PlayerSettings. Do you get any error message when creating an installer? Sometimes Windows also caches icon information and displays outdated icons after files get overwritten, maybe try to hit F5 in your Windows File Explorer or on your desktop and see if it shows up. If after that, it still doesn't display your icon, could you sent me the file you're using and maybe a screenshot of your ProjectSettings?

    Unfortunately this is currently not possible, but I will add this as an option in the next version. Should be out next week at the latest.
     
  36. mowax74

    mowax74

    Joined:
    Mar 3, 2015
    Posts:
    97
    Thank you for the quick answer!

    Ohh man, i have seen the custom templates but thought this is just the side graphics. The header template was so small in the preview that i didn't realized that it is the template with the logo placeholder in it. :) So this is no problem, i can edit our logo in now.

    The shortcut icon displays now also correct, may be that was an issue based an my many install/deinstall tries. I also used an InnoSetup approach before. (But since many of our customers are enterprises, their administrators wanted to have an msi for passive installation/update).

    But, on uninstall, the shortcut on the desktop and when a shortcut was pinned to the task bar is not being removed. Maybe you can polish a bit on that part.

    No hurry, but would be great to have that as an option. Meanwhile i commented out some lines in the WxsBuilder.cs around line 80:

    Code (CSharp):
    1. writer.WriteStartElement("StandardDirectory");
    2. writer.WriteAttributeString("Id", GetProgramFilesFolder(_platform));
    3. //writer.WriteStartElement("Directory");
    4. //writer.WriteAttributeString("Id", WiX.Settings.Manufacturer);
    5. //writer.WriteAttributeString("Name", WiX.Settings.Manufacturer);
    6. writer.WriteStartElement("Directory");
    7. writer.WriteAttributeString("Id", "INSTALLDIR");
    8. writer.WriteAttributeString("Name", WiX.Settings.PackageName);
    9. writer.WriteEndElement();
    10. writer.WriteEndElement();
    11. //writer.WriteEndElement();
    That works for now.
     
    julienkay likes this.
  37. julienkay

    julienkay

    Joined:
    Nov 12, 2013
    Posts:
    172
    Glad I could help!

    The desktop shortcut correctly gets removed during uninstallation on my side. I have also noticed, that testing installers with different configurations can sometimes produce unexpected results. Here Windows also made me scratch my head at times, due to desktop icons being outdated, until I hit F5. Installers that create desktop shortcuts should definitely remove them though, so please test this again with a clean install and notify me if you keep getting issues.

    Regarding removing a shortcut that was pinned to the taskbar: Deleting files that the installer doesn't know about, because they were created after installation by the user isn't as straightforward unfortunately. But I'll look into it, maybe there is a simple way for that specific case.

    That's a good workaround for now.
     
    Last edited: Feb 2, 2023
  38. julienkay

    julienkay

    Joined:
    Nov 12, 2013
    Posts:
    172
    A new version has been released.

    v1.7.0 (February 3, 2023)

    • Added: The option to change the default name for the folder(s) where the software will be installed to. Possible names are 'Manufacturer/Product Name' or just 'Product Name'. Note, that if you allow users to select a custom install location, they will be able to change these directory names.
    • Fixed: Specifying a 'Default Icon' in PlayerSettings was not being considered for being used as a ProductIcon. Now the default icon will be used if there is no specific override for the Windows Standalone platform.
     
    mowax74 likes this.
  39. azimmerman

    azimmerman

    Joined:
    Mar 10, 2020
    Posts:
    9
    @julienkay My primary need for an installer is to enable deep linking by adding a registry entry similar to what @Carpet_Head describes. Have you looked at all in to adding this feature?
     
    julienkay likes this.
  40. julienkay

    julienkay

    Joined:
    Nov 12, 2013
    Posts:
    172
    Hey @azimmerman I have briefly looked into it, but have not made any efforts to add this feature yet. Part of the reason is, that it's a bit of a can of worms, to be honest and I'm not sure about the exact requirements.

    But I would be happy to move forward in that direction if you have an immediate need for this.
    Some open questions from my side:
    First of all, I want to make sure we're talking about the same thing and that it is deep linking you're mainly interested in? Or do you also need to do file associations?
    My understanding is, that deep linking allows you to use URL schemes (either from a browser or even a different Standalone application) to open your application and pass data to it. Is that correct and can you elaborate a bit on the exact use-case?
     
  41. azimmerman

    azimmerman

    Joined:
    Mar 10, 2020
    Posts:
    9
    Yes I want the installer to add some registry keys (HKCU so it doesn't require admin rights) and my current/foreseeable needs are just for deep linking (which is otherwise independent, meaning I only need the installer to add the required registry keys).

    I managed to get it working with WiX the other day. Here's the WiX fragment:

    Code (Boo):
    1. <?xml version="1.0" encoding="UTF-8"?>[/INDENT]
    2. <Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
    3. <Wix>
    4.    <Fragment>
    5.       <DirectoryRef Id="TARGETDIR">
    6.          <Component Id="RegistryEntries" Guid="*">
    7.             <RegistryKey Root="HKCU" Key="Software\Classes\myunityapp">
    8.                <RegistryValue Type="string" Name="URL Protocol" Value="" KeyPath="yes"/>
    9.                <RegistryValue Type="string" Value="MyUnityApp"/>
    10.             </RegistryKey>
    11.             <RegistryKey Root="HKCU" Key="Software\Classes\myunityapp\shell">
    12.             </RegistryKey>
    13.             <RegistryKey Root="HKCU" Key="Software\Classes\myunityapp\shell\open">
    14.             </RegistryKey>
    15.             <RegistryKey Root="HKCU" Key="Software\Classes\myunityapp\shell\open\command">
    16.                <RegistryValue Type="string" Value="&quot;[INSTALLFOLDER]MyUnityApp.exe&quot; &quot;%1&quot;"/>
    17.             </RegistryKey>
    18.          </Component>
    19.       </DirectoryRef>
    20.    </Fragment>
    21. </Wix>
    That makes it so the URI `myunityapp://`, e.g. by entering that text into a browser, opens `MyUnityAppExe` (via the command line but that part isn't apparent to the user).

    There is one more requirement that I'm not sure if your asset meets yet (and that I figured out how to do with WiX but there are some details I'm still sorting out):

    I need to install to the user's `AppData/Roaming`, primarily so that admin rights are not required. This and also the registry keys is all essentially what Zoom does for their own deep linking. To get this working I'm using `heat`, `candle`, and `light` from the WiX toolset rather than Visual Studio.​

    Anyway it's a lot of details I'd rather not be dealing with so I'd be thrilled if your asset can do this stuff :) Thanks for looking into it!
     
    julienkay likes this.
  42. julienkay

    julienkay

    Joined:
    Nov 12, 2013
    Posts:
    172
    Hey, thanks for following up with these details and even providing the Wix fragment for the URL schemes. That's really helpful.

    These two requirements are both related and currently aren't supported. The asset only does PerMachine installs into "ProgramFiles" (requires admin rights) as of today. I think it makes sense to add the option to do non-elevated installers, but I'll have to expose more explicit settings regarding install directories as well, while making sure these don't contradict each other (i.e. prevent users from trying to create non-elevated per user installs that install into ProgramFiles or ask the user for a location)


    My plan right now would be to implement custom URL schemes first and then add options regarding install locations and per user/per machine installs after that.
     
    mindvr124 likes this.
  43. azimmerman

    azimmerman

    Joined:
    Mar 10, 2020
    Posts:
    9
    That sounds like a good plan.

    FYI: In the meantime I've looked into some other solutions (that aren't Unity assets) and I have something that meets my needs today.

    Thanks for looking into this!
     
  44. exsurgo_ankit

    exsurgo_ankit

    Joined:
    Feb 5, 2020
    Posts:
    29
    Hello @julienkay

    I have been using the asset recently and encountered this error:
    I did a couple of builds and generated msi for them last week. The folder I point does contain the application binary.
    I am not sure what this error means as it does not list the paths it searched. I have not changed the Wix for Unity settings and this was working.

    "the system cannot find the file '' with type Binary'. The following paths were checked."

    upload_2023-4-17_14-32-41.png
     
  45. julienkay

    julienkay

    Joined:
    Nov 12, 2013
    Posts:
    172
    Hey @exsurgo_ankit, thanks for reaching out.

    Which version of the asset are you using?
    Does the Unity console show any other error or exception?
    If you click 'Copy build result to clipboard' and paste that here, is there more information on the error?

    It seems there is something going wrong when collecting all the files of the Unity build. One way to troubleshoot could be if you send me one of the generated files: '<path-to-your-project>\Library\wixlib\UnityBinaries.wxs'
    (either here or via mail: support@doji-tech.com)
     
  46. exsurgo_ankit

    exsurgo_ankit

    Joined:
    Feb 5, 2020
    Posts:
    29
    Hello @julienkay

    The unity console does not show any errors.

    There is no more information in the wix build result. I have tried rebuilding the windows build which builds and runs evertime.


    Version information

    Wix toolset core version 4.0.0.0

    4.0.-preview.0+824e72cf


    Build results

    The system cannot find the file '' with type 'Binary'. The following paths were checked:


    I have emailed the UnityBinaries.wxs file privately.

    Regards
    Ankit
     
  47. julienkay

    julienkay

    Joined:
    Nov 12, 2013
    Posts:
    172
    For future reference: This error can happen when the image files in WiX\Editor\Templates have been deleted or for some other reason, the WiX settings have a missing reference for one of the UI images.
    Will improve the error message for cases like this.
     
    Last edited: Apr 26, 2023
    exsurgo_ankit likes this.
  48. j1mmie

    j1mmie

    Joined:
    Oct 31, 2013
    Posts:
    33
    @julienkay I'm really looking forward to using this plugin to automate my build pipeline. One question - can it be used to create MSI files for use in the Microsoft Store? I'm not entirely familiar with Microsoft Store, but I believe instead of traditional code-signing (using say, a software signing cert and SignTool), Microsoft Store allows you to sign in via Visual Studio and they manage the certificates for you. Any information you can provide would be greatly appreciated
     
  49. julienkay

    julienkay

    Joined:
    Nov 12, 2013
    Posts:
    172
    To be honest I don't have any experience publishing to the Microsoft Store either. From what I've learned about the publishing process so far (mostly from this link) it seems there are a lot of additional steps involved other than creating an installer.

    Regarding having the signing be handled by Visual Studio in some way: Do you have a link for this? I'd be interested in reading it. But the "Create Visual Studio Solution" flow is not supported by the asset, so it might not be possible to use either way.

    In general, the plugin does not offer any features that would help with uploading to the Microsoft Store (other than creating the MSI itself) I'm afraid.
     
  50. julienkay

    julienkay

    Joined:
    Nov 12, 2013
    Posts:
    172
    But if you are interested in a beta test to see how well it works for the use case of publishing to the Microsoft Store DM me or send an email to support@doji-tech.com