Comments (11)
Argh, I think I know why, can you try again with this patch applied?
diff --git a/src/main.rs b/src/main.rs
index ede6561..76a5455 100644
--- a/src/main.rs
+++ b/src/main.rs
@@ -1,6 +1,7 @@
// This is so cargo actually considers linking to the fucking manifest,
// since the build scripts' documentation can do the digital equivalent of fucking off
#[cfg(target_os="windows")]
+#[cfg(target_env="gnu")]
#[link(name="cargo-install-update-manifest", kind="static")]
extern "C" {}
from cargo-update.
that means, no manifest is embedded (for msvc ABI), and can't be run without Administrator privilege
from cargo-update.
Okay, so I have to work around that, too, now
from cargo-update.
Can you try the fix/14-manifest-embed-msvc
branch? It should build&link in an MSVC-compatible way.
If you get object type errors try replacing "--output-format=coff"
with "--output-format=res"
, please.
from cargo-update.
I will
from cargo-update.
If the content of the manifest file won't be changed, then I think we don't need to compile it, we could just write the file with the name "cargo-install-update.exe.manifest" to the $HOME\.cargo\bin\
directory.
The advantage of this method is, we do not need to worry about the compiler toolchain/triples, the writing code will work on any Windows environment, since it only uses the std library.
from cargo-update.
No
from cargo-update.
@nabijaczleweli
Branch fix/14-manifest-embed-msvc
build failed.
I don't think there is a windres.exe
in MSVC toolchain.
Edit: but you can try rc.exe
.
from cargo-update.
Updated the branch to use RC.EXE
, try again, please?
from cargo-update.
@nabijaczleweli
After some changes to cargo-install-update-manifest.rc
, build success.
But it doesn't work, the manifest resource was not linked into .exe
.
Changes to cargo-install-update-manifest.rc
:
@@ -1,2 +1,2 @@
-#include "winuser.h"
-1 RT_MANIFEST cargo-install-update.exe.manifest
+#define RT_MANIFEST 24
+1 RT_MANIFEST "cargo-install-update.exe.manifest"
If you don't mind, I'd like to have a try to submit a new pr.
from cargo-update.
Have at it
from cargo-update.
Related Issues (20)
- Failure when using source replacement HOT 3
- error: registry index was not found in any configuration: `rsproxy-sparse` HOT 5
- Keep the features HOT 3
- Fails behind corporate proxy (but plain cargo install works) HOT 10
- respect previously defined feature flags when updating HOT 6
- Installing from source causes `cargo install` PATH warning on Windows due to path canonicalization HOT 7
- Internal matching of custom registry and source for sparse indices fails HOT 1
- Auto configuration error HOT 6
- Build fails on macOS 14.4.1 HOT 1
- build fails on arch linux 6.8.7-arch1-1 HOT 1
- `install.root` is not properly followed HOT 2
- Is there a way to list only packages in need of update? HOT 1
- Add --rate-limit flag HOT 2
- Unable to list/update packages after installing package using cargo binstall --git HOT 5
- When called from topgrade `cargo-install-update` under WSL fails to find some file or directory. HOT 5
- Prompt user before performing updates HOT 1
- FR: An option to disable some of `cargo binstall`'s strategies HOT 1
- Update to newer prerelease HOT 2
- cargo install-update doesn't install updates. HOT 8
- unnecessary configurations written to ~/.cargo/.install_config.toml HOT 4
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 cargo-update.