windows-installer | Build Windows Installers for Electron apps | DevOps library
kandi X-RAY | windows-installer Summary
kandi X-RAY | windows-installer Summary
NPM module that builds Windows installers for Electron apps using Squirrel.
Support
Quality
Security
License
Reuse
Top functions reviewed by kandi - BETA
Currently covering the most popular Java, JavaScript and Python libraries. See a Sample of windows-installer
windows-installer Key Features
windows-installer Examples and Code Snippets
Community Discussions
Trending Discussions on windows-installer
QUESTION
I am trying to write a WiX installer that includes a managed icon shell extension (using SharpShell). I've finally figured out how to register it via Wix (I couldn't get the SharpShell registration manager to work whenn called via WiX).
During installation, the following dialog appears:
If I select "Ignore", the icon shell extension is successfully installed and Window Explorer picks up the change immediately. I'm not sure which files that its detecting as "In Use".
During uninstall, the following dialog appears:
If you select the "Automatically close and attempt to restart" option, it closes Windows Explorer, but it does not restart at the end of the installation. I have to manually restart it via task manager.
WiX Fragment Definition
The WiX fragment that defines the shell extension installation is shown below:
...ANSWER
Answered 2022-Mar-02 at 14:16The best solution that seemed to work and did not display any unwanted dialogs was to remove the MSIRMSHUTDOWN
and MSIDISABLERMRESTART
properties and set the following property:
QUESTION
The PE Format specification for image (.exe
) and object files describes how to locate the start of the PE header.
However, I am trying to find the PE header of an MSI, and neither the approach for image nor the approach for object files seems to work. I am not even sure if an MSI has a PE header, but looking into the file with a hex editor indicates that it has one.
I've looked into the Windows Installer Reference but it does not seem to include detailed information about the structure of MSI files, so I guess it boils down to these questions:
- Do MSI files include a PE header similar to the one described above?
- How to locate the PE header?
- Is there a specification for MSI files similar to the one linked above?
ANSWER
Answered 2022-Feb-24 at 14:51.msi files are not PE files. They're structured storage data files processed by the Windows Installer service (msiexec.exe). Rob Mensching has a couple of blog posts providing an insider view:
- https://robmensching.com/blog/posts/2003/11/25/inside-the-msi-file-format/
- https://robmensching.com/blog/posts/2004/2/10/inside-the-msi-file-format-again/
You're probably seeing embedded PE files.
QUESTION
I want to create a URL-based Windows installer. I need Msistuff.exe to configure the Setup.exe resources. I have installed the Windows SDK components. However, I am unable to find Msistuff.exe. Please advise how to get that/find its path.
...ANSWER
Answered 2021-Sep-10 at 12:07I could not find Msistuff.exe anywhere. The comment from Naticklamb on this page helped me. I downloaded this folder and compiled it from VS2019 Developer Command Prompt. After compiling, the Msistuff.exe was created. I installed the following through Visual Studio Installer:
C++ CMake tools for Windows
to getnmake
C++ Windows XP Support for VS 2017 (v141) tools [Deprecated]
to getWin32.mak
QUESTION
I spent a few days on solving the problem with many versions of the boostrapper in Add/Remove Programs.
I have tried in many ways with different combinations of the DisableRemove, DisableModify, UpgradeCode, ParentName and Version for Bundle properties. I am tring attach to the event PlanRelatedBundle and DetectRelatedBundle but I am not able to set anything there.
Found this from 2012 but unfortunately there is no such definitive solution to this problem for bootstrapper. http://windows-installer-xml-wix-toolset.687559.n2.nabble.com/Bootstrapper-Upgrade-Detection-td7580471i20.html
In logs I can see it find related bundle
First version 1.0.108.0:
[4364:38F8][2021-05-05T07:58:53]i370: Session begin, registration key: SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall{a0118d1b-5688-4e44-a1a9-61c7b7b4d9f0}, options: 0x7, disable resume: No [4364:38F8][2021-05-05T07:58:54]i000: Caching bundle from: 'C:\Users\M4360~1\AppData\Local\Temp{82501D9E-759F-4960-9F6B-D34CB27DBC5B}.be\ETest.exe' to: 'C:\ProgramData\Package Cache{a0118d1b-5688-4e44-a1a9-61c7b7b4d9f0}\ETest.exe' [4364:38F8][2021-05-05T07:58:54]i320: Registering bundle dependency provider: {a0118d1b-5688-4e44-a1a9-61c7b7b4d9f0}, version: 1.0.108.0 [4364:38F8][2021-05-05T07:58:54]i371: Updating session, registration key: SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall{a0118d1b-5688-4e44-a1a9-61c7b7b4d9f0}, resume: Active, restart initiated: No, disable resume: No
Second version 1.0.109.0:
[0FC0:2F94][2021-05-05T08:16:19]i000: *********** EVENT: PlanRelatedBundle, arg name: PlanRelatedBundleEventArgs - BundleId, value: {a0118d1b-5688-4e44-a1a9-61c7b7b4d9f0}. State, value: Absent. Result, value: None. , sender:: BootstrapperStartup
[0FC0:2F94][2021-05-05T08:16:19]i207: Planned related bundle: {a0118d1b-5688-4e44-a1a9-61c7b7b4d9f0}, type: Upgrade, default requested: Absent, ba requested: Absent, execute: Uninstall, rollback: Install, dependency: None
[2278:35D8][2021-05-05T08:16:22]i370: Session begin, registration key: SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall{e0e0d315-c8fc-4f19-acb0-01791a533e15}, options: 0x7, disable resume: No [2278:35D8][2021-05-05T08:16:23]i000: Caching bundle from: 'C:\Users\M4360~1\AppData\Local\Temp{B525729B-76AE-4428-9F13-9DA529F2E455}.be\ETest.exe' to: 'C:\ProgramData\Package Cache{e0e0d315-c8fc-4f19-acb0-01791a533e15}\ETest.exe' [2278:35D8][2021-05-05T08:16:23]i320: Registering bundle dependency provider: {e0e0d315-c8fc-4f19-acb0-01791a533e15}, version: 1.0.109.0 [2278:35D8][2021-05-05T08:16:23]i371: Updating session, registration key: SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall{e0e0d315-c8fc-4f19-acb0-01791a533e15}, resume: Active, restart initiated: No, disable resume: No
Third version 1.0.110.0:
[1C30:06C8][2021-05-05T08:26:14]i000: *********** EVENT: PlanRelatedBundle, arg name: PlanRelatedBundleEventArgs - BundleId, value: {a0118d1b-5688-4e44-a1a9-61c7b7b4d9f0}. State, value: Absent. Result, value: None. , sender:: BootstrapperStartup
[1C30:06C8][2021-05-05T08:26:14]i000: *********** EVENT: PlanRelatedBundle, arg name: PlanRelatedBundleEventArgs - BundleId, value: {e0e0d315-c8fc-4f19-acb0-01791a533e15}. State, value: Absent. Result, value: None. , sender:: BootstrapperStartup
[1C30:06C8][2021-05-05T08:26:14]i207: Planned related bundle: {a0118d1b-5688-4e44-a1a9-61c7b7b4d9f0}, type: Upgrade, default requested: Absent, ba requested: Absent, execute: Uninstall, rollback: Install, dependency: None [1C30:06C8][2021-05-05T08:26:14]i207: Planned related bundle: {e0e0d315-c8fc-4f19-acb0-01791a533e15}, type: Upgrade, default requested: Absent, ba requested: Absent, execute: Uninstall, rollback: Install, dependency: None
GUID is correct, but I can't see anything in the logs more about previous versions and I can't see them being uninstalled.
I tried to add ParentName to the Bundle, but it causes no new version to show up in Add/Remove Programs and dont remove old.
Finally my installer installs 5 things, 4 of which are programs that need to be installed for my .msi and I don't know if these other versions are eventually uninstalled and only the registry remains? Why are they in Add / Remove Programs? Because when installing the next version of the boostrapper, it does not take up as much disk space as its entire size from 1.3gb takes about 200 / 300mb and my .msi has 170mb + logs.
Maybe deleting the registry in PlanRelatedBundle is enough?
Edit
I tried remove registery in event OnPlanRelatedBundle and I conclude that the bootstrapper does not have permission to delete registries during upgrade throws an error with RegistryKey key = key32.OpenSubKey (registryKey, true) ;. If I attache to the process when uninstall bootstrapper , the permissions are higher and successfully remove the registers of old versions of the boostrapper. But the installer increases the "Launched elevated engine process." Exe, running as administrator also does not make the old version uninstall.
...ANSWER
Answered 2021-May-11 at 06:38I solved the problem by hooking to the OnPlanRelatedBundle event and removing the registries of older versions of the application.
However, this requires running the bootstrapper with administrative privileges.
QUESTION
I'm trying to test GPO deployment and came across this issue whereby the multi-language MSI failed to deploy. I have a multi-language Wix project and produced 2 MSIs (English and multi-language). I have two remote VMs with one acting as a server (Windows Server 2012 R2) which will push the GPO policies to the other one acting as a client VM (Windows 10).
Here are some clues:
- The MSI package is setup under User Configuration > Policies > Software Settings
- Via GPO, I was able to install English but not the multi-language one.
- I was able to install both via manual installation.
- I was only able to install the multi-language one via re-install (Install the multi-language manually then reinstall it via GPO without uninstalling first)
- In the MSI log (Setup manually via registry with value
voicewarmupx
) the first 21 lines are similar for the installation of both MSIs via GPO. (view Appendix below) - In the MSI log of the multi-language one, at line 22, there is a line that shows
MainEngineThread is returning 1605
(view Appendix). The error code indicates that the program is trying to take action on something that is currently not installed but I'm not sure what to make of it. - This WIX project contains custom actions so I have set a piece of code to log the session at the earliest possible time (create a Custom Action before
FindRelatedProducts
underInstallUISequence
node) but it didn't appear in the logs so this could mean that the error happens much earlier.
What went wrong?
Appendix
These are the GPO setting that I have setup for both MSIs in the server under User Configuration > Policies > Software Settings.
This is the log of the successful one (English)
This is the log of the unsuccessful one (Multi-language)
...ANSWER
Answered 2021-Mar-29 at 16:47Disclaimer: I don't have the setup to test that this actually works, but please try this:
When you click the "Advanced..." button, please try to select the "Ignore language when deploying this package" option (source):
Links:
QUESTION
I am working on a new project using Electron and ReactJS. The project works fine in development mode, but I am trying to create an installer for Windows but no matter what I try and what I find on Google nothing works. I just get a blank white screen.
Below is my pacakge.json
...ANSWER
Answered 2020-Oct-23 at 12:06After a hell of a lot of trial and error I've managed to get it working finally.
The first thing was to change my App.js so that instead of using BrowserRouter I now use HashRouter as follows and use the history from react-router-dom
QUESTION
I am using cmake
and cpack
and wix
to build and deploy my project. The installer has some properties that user can enter via GUI or MSI-command-line options.
I set default property values in my CMakeLists.txt
using:
ANSWER
Answered 2020-Jun-07 at 23:04I am looking for a way to change default value of these properties without need for rerunning
cmake
.
A script specified in CPACK_PROJECT_CONFIG_FILE variable is the one, which affects on CPack, but which changing doesn't require cmake
to re-run. So you may place setting of CPACK_WIX_PROPERTY_
here: Changing this setting would require only to re-run CPack without re-run cmake
on the main project.
Also, when the script specified in CPACK_PROJECT_CONFIG_FILE
variable is parsed, CPACK_GENERATOR
variable contains the exact CPack generator which is currently processed. This opposites to behavior of the variable inside CMakeLists.txt
, when it contains a list of generators.
QUESTION
First of all, sorry for the vague (if not incorrect) title of this question, but noob as I am, I can't think of other way to phrasing this correctly..
More clearly, I'd like to deploy an Excel addin, developed with VS. For this, I followed Microsoft's guide for deploying using Windows Installer. It worked fine, except for one thing: my addin is supposed to call PuTTY at some point, and the deployment as such apparently doesn't ship PuTTY (the only thing I did so far is to put PuTTY in the Solution Explorer of my project, but I guess that's not enough ;) ).
When I debug on my computer, well I have PuTTY installed, and the path to it is hardcoded, so that everything run fine. But when I deploy it (following the guide), PuTTY is missing.
How can I:
- Ship PuTTY with my addin?
- Foresee the location of PuTTY once deployed, and therefore being able to call it correctly?
...using the installer, not click Once.
Thanks a lot!!
...ANSWER
Answered 2020-Jun-03 at 17:32You really need to add that that utility to you installer project. Or you can embed the utility as a resource in your dll, extract it at run-time, copy to some folder, and execute.
QUESTION
I created a Windows Forms application and added a Setup Wizard. I want the installer to create a SHORTCUT of my exe on the desktop but not a COPY of it because the exe uses resources from the folder its in. I added a shortcut using this article: http://gaurangpatel.net/creating-application-shortcut-in-programs-for-windows-installer-project. but it created a copy of the exe instead of a shortcut. Can anyone help with this?
...ANSWER
Answered 2020-May-08 at 10:42In File system view, go to Application folder and right click your main output. Select Create shortcut to... and drag and drop that shortcut to the User's desktop directory.
QUESTION
I have deployed an Outlook Add-in using Visual Studio Installer project(followed this link) with C#.
The setup is getting installed correctly(.msi) and I am able to see it inside Options -> Add-in, also the ribbon is visible with the controls.(It's a winform)
Unfortunately, when I hit the button(inside Ribbon), nothing happens.
Code in Ribbon.cs:
...ANSWER
Answered 2020-May-04 at 17:38Most probably your form is displayed behind the Outlook window. To get it visible on top of Outlook windows you must specify the parent window handle. You can retrieve it by casting the Outlook window instance like Explorer or Inspector to the IOLEWindow interface and using the IOleWindow::GetWindow method which retrieves a handle to one of the windows participating in in-place activation (frame, document, parent, or in-place object window).
The Show or ShowDialog
method accepts an instance of the IWin32Window interface which represents your parent window handle.
Community Discussions, Code Snippets contain sources that include Stack Exchange Network
Vulnerabilities
No vulnerabilities reported
Install windows-installer
Support
Reuse Trending Solutions
Find, review, and download reusable Libraries, Code Snippets, Cloud APIs from over 650 million Knowledge Items
Find more librariesStay Updated
Subscribe to our newsletter for trending solutions and developer bootcamps
Share this Page