Skip to content
This repository has been archived by the owner on Nov 21, 2018. It is now read-only.

MSI initial support #2

Merged
merged 2 commits into from
Jan 14, 2015
Merged

MSI initial support #2

merged 2 commits into from
Jan 14, 2015

Conversation

gentoo90
Copy link
Contributor

@gentoo90 gentoo90 commented Jan 1, 2015

Tested with WiX 3.9 and msys2 on i686-pc-windows-gnu target.
Still need to replace some hardcodes by variables but that's a start.

@brson
Copy link
Contributor

brson commented Jan 1, 2015

Wow! Thanks!

@@ -176,15 +180,26 @@ def run(args):
if channel == "stable":
CFG_RELEASE=CFG_RELEASE_NUM
CFG_PACKAGE_VERS=CFG_RELEASE_NUM
# UpgradeCode shoud stay the same for all MSI versions in channel
CFG_UPGRADE_CODE="1C7CADA5-D117-43F8-A356-DF15F9FBEFF6"
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do these upgrade codes mean that the MSI version of rust release channels can be installed simultaneously? Do the installers modify PATH in conflicting ways?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, they'd all end up on the PATH and then the first one wins. In order to support side-by-side installation of multiple Rust versions, we should probably consider leaving PATH alone (or at least making this feature not selected by default), and providing shortcuts in the Start menu that open console window with PATH set for the appropriate Rust version.

Another interesting question is whether 32-bit and 64-bit versions should be considered the same product. Right now they are, and installing, say, a 64-bit version uninstalls the 32-bit one (and vice-versa), which is kinda bad.
On the other hand, if we bundled both 32- and 64-bit versions of Rust libraries, there'd be no reason to want to install both, because one could just use the --target switch to select bitness of the generated executables.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

leaving PATH alone (or at least making this feature not selected by default

it's not selected by default write now. It has Level="5" which is higher than the default INSTALLLEVEL

@brson
Copy link
Contributor

brson commented Jan 1, 2015

It's unfortunate that this reproduces the text of LICENSE.txt, which chances with some regularity. Is there any way we can generate it from the original license source included in the binary tarballs?

Language="1033"
Version="$(env.CFG_MSI_VERSION)"
UpgradeCode="$(env.CFG_UPGRADE_CODE)"
Manufacturer="Mozilla Foundation">
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should this be the Rust Project, or something?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yeah, "The Rust Project Developer" please.

@emberian
Copy link

emberian commented Jan 2, 2015

@Arke64 says: "<MajorUpgrade DowngradeErrorMessage="A newer version of [ProductName] is already installed." /> will handle upgrades. you'll want to look into MajorUpgrade for future releases"

@@ -44,6 +45,7 @@ def run(args):

# Create the temp directory
if os.path.isdir(TEMP_DIR):
print "Removint old temp..."
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Typo

@vadimcn
Copy link
Contributor

vadimcn commented Jan 2, 2015

This PR looks like a decent starting point to me. I think we could merge it as-is, and then iterate on details.

@gentoo90
Copy link
Contributor Author

gentoo90 commented Jan 2, 2015

About MajorUpgrade: it checks only first three parts of ProductVersion
http://www.symantec.com/connect/forums/msi-upgrades-and-version-comparision

@brson brson force-pushed the master branch 3 times, most recently from 730b3bf to a20d18f Compare January 5, 2015 21:48
@brson
Copy link
Contributor

brson commented Jan 5, 2015

Needs a rebase. Sorry!

@gentoo90
Copy link
Contributor Author

gentoo90 commented Jan 7, 2015

Rebased

@brson
Copy link
Contributor

brson commented Jan 11, 2015

I intend to test this this week. Sorry for the delay.

This allows to choose install scope (permachine/peruser) and directory
@gentoo90
Copy link
Contributor Author

Switched to WixUI_Advanced set of dialogs

@brson brson merged commit 83ff4f0 into rust-lang-deprecated:master Jan 14, 2015
@brson
Copy link
Contributor

brson commented Jan 14, 2015

Merged. Thanks for being patient.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants