Comments (6)
@nunit/core-team
I agree this is ambiguous. I know we tried when we split things up to not change the package names, but I think that would be preferable to having same-named packages with entirely different contents.
I propose we rename the msi and zip to NUnit.Console
, to match the nuget package. I'd also like to rename the framework zip to NUnit.Framework.zip
- to avoid any ambiguity. Thoughts?
from nunit-distribution.
I am good with renaming both. At a minimum rename the console ZIP and MSI
from nunit-distribution.
Additionally, it looks like you reused the guid from the old framework plus console here. Different packages should have different guids.
from nunit-distribution.
@CharliePoole Which guid are you referring to, the msi 'upgrade code'? We can change it, but I thought we wanted it to be an in place upgrade, and just lose the framework for 3.0.
from nunit-distribution.
I guess we never discussed how we wanted it to work - probably should have.
I haven't used the msi installer myself for a long time, but I used to do it all the time with V2. I was able to have as many versions of it as I wanted on my machine because they each installed to a different directory. With 3.0, we decided to use a common directory but I always assumed you could still do it by changing the directory for the install. Seems like you can't.
In V2, I changed the Product Id guid for each release but not the UpgradeCode. Is that what you still do? If so, maybe the Microsoft Installer has changed, since it won't even run the install for me if I have a newer version installed. With V2 I could do that in order to check out a bug.
In any case, what I'm really asking here is this: If we give this a different name (NUnit-Console) and the user downloads it from the nunit-console project and not the nunit project, does it make sense for it to have the same upgrade code? How will it work for users in each case? I think this is something we should decide for 3.6, when the naming is changed.
from nunit-distribution.
I'd forgotten the v2 installers worked like that. :-) The different directory paths were why we spent a few years fixed at 2.5.7, because changing the exe path everywhere we referenced it was a chunk of work!
Sounds like the GUID changes remain the same: currently the product ID is unique per build, the UpdgradeCode doesn't change. There's defined functionality to prevent downgrading. I don't know how this differed to the v2 installer internally, I never saw it.
In terms of how it should work - I think this is good behaviour! The console is built such that it can run any v2/3.x framework, so as far as I can imagine, needing multiple versions installed side by side will only ever be a developer problem which can be worked around with nuget/the zip packages. Regarding removing the framework - I saw it more as dropping a highly underused component of the bundle, than as a 'new product'. Accordingly, an in-place upgrade still seems the right solution to me, from a usability point of view. A rename just better reflects the packages current contents, which we understand to be what people were using the bundle for anyway (based on the lack of complaints at the framework's removal!).
I'm aware these are mainly just my opinions/preferences, however! @nunit/core-team?
from nunit-distribution.
Related Issues (9)
- Refactor out Common directory
- Better solution for Changes.txt HOT 4
- Cake build shouldn't depend on NuGet.exe being on path HOT 1
- Update Appveyor webhook HOT 2
- Additional .addins files should be excluded from zip build HOT 2
- Win10 can't locate .NET Framework prerequisites HOT 2
- Add Teamcity plugin back to install HOT 1
- AppVeyor no longer builds
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from nunit-distribution.