Check alle échte Black Friday-deals Ook zo moe van nepaanbiedingen? Wij laten alleen échte deals zien
Toon posts:

[VB2008] Admin rechten nodig na compileren?

Pagina: 1
Acties:

Verwijderd

Topicstarter
Beste mede tweakers,

Ik zit met een vervelend probleem.:
Start VB -> Laad programma -> Run = Werkt
Start VB -> Laad programma -> Run -> Compile -> Run -> Restart under different credentials.

WTF? Ik begrijp hier niets van. Met andere projecten heb ik hier totaal geen last van. Het is mij compleet onduidelijk waarom ik zonder compileren wel het programma (normaal) kan Runnen, maar dat dit na het compileren opeens niet meer kan (zonder Admin rechten).

Ik heb tervergeefs gezocht op het internet en daar komen eigenlijk alleen maar problemen naar voren met Admin Rights van programma's die dit daadwerkelijk ook nodig hebben. Dat heeft mijn programma niet.
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<?xml version="1.0" encoding="utf-8"?>
<asmv1:assembly manifestVersion="1.0" xmlns="urn:schemas-microsoft-com:asm.v1" xmlns:asmv1="urn:schemas-microsoft-com:asm.v1" xmlns:asmv2="urn:schemas-microsoft-com:asm.v2" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <assemblyIdentity version="1.0.0.0" name="MyApplication.app"/>
  <trustInfo xmlns="urn:schemas-microsoft-com:asm.v2">
    <security>
      <requestedPrivileges xmlns="urn:schemas-microsoft-com:asm.v3">
        <!-- UAC Manifest Options
            If you want to change the Windows User Account Control level replace the 
            requestedExecutionLevel node with one of the following.

        <requestedExecutionLevel  level="asInvoker" uiAccess="false" />
        <requestedExecutionLevel  level="requireAdministrator" uiAccess="false" />
        <requestedExecutionLevel  level="highestAvailable" uiAccess="false" />

            If you want to utilize File and Registry Virtualization for backward 
            compatibility then delete the requestedExecutionLevel node.
        -->
        <requestedExecutionLevel level="asInvoker" uiAccess="false" />
      </requestedPrivileges>
    </security>
  </trustInfo>
</asmv1:assembly>


Ik had gedacht dat het misschien aan de NTFS bestandsrechten zou kunnen liggen, maar die lijken mij, na vergelijken met andere projecten, prima inorde. Ook het project opnieuw aangemaakt, helaas, dit was niet de oplossing.

Ik programmeer niet elke dag en de laatste keer was al weer even geleden. In de tussentijd wel Windows gewoon geupdate. Zou het misschien hier aan kunnen liggen? Dat er een Windows update of .Net update is geweest die wat heeft veranderd?

Gisteren heb ik dit probleem kunnen omzeilen door een versie nummer in te voeren onder Assembly Information en onder Publish. Dat werkte toen, maar vraag me niet waarom. Helaas, nu niet meer.

Het is gewoon erg vervelend dat ik nu elke keer na het compileren de IDE moet afsluiten om te kunnen Runnen.

Iemand enig idee what's going on?

OS: Vista SP2, VB.Net 2008 Professional 9.0.30729.1SP, Dot.Net 3.5SP1

  • CodeCaster
  • Registratie: Juni 2003
  • Niet online

CodeCaster

Can I get uhm...

Je bedoelt dat je deze krijgt?

Afbeeldingslocatie: http://i.imgur.com/1XIVV.png

Als het attachen zonder compileren wel werkt (waarbij dus de tijdens de vorige iteratie gecompileerde assemblies worden gedebugd), zou ik post-build-steps, extensions en NuGet-packages verdenken (heb je Restore on Build aan staan?), heb je íets meer info over wat het project doet, wat het zou moeten doen en welke (third-party) componenten er nog meer in het spel zijn?

Gebeurt het bij nieuwe projecten ook? Wat voor soort projecten gaat het om? Doet "Run" nog iets speciaals in jouw geval, zoals attachen aan IIS of een ander proces dan je project-startup-executable?

[ Voor 10% gewijzigd door CodeCaster op 30-12-2013 23:16 ]

https://oneerlijkewoz.nl
Op papier is hij aan het tekenen, maar in de praktijk...


Verwijderd

Topicstarter
Zover als ik nu kan zien zit er geen package manager in VB.Net 2008, zoals hier beschreven.

Er zijn geen 3rd party componenten die ik gebruik, wel geinstalleerd (1tje, NetListView).

Ik heb de code aangepast naar .Net 2.0. Helaas geen verschil.

Het programma waar ik nu mee bezig ben is voor het aanpassen van een EXE. Dit werkt, heel goed zelfs. Zowel in de IDE als gecompileerd. Zoals eerder vermeld heeft mijn programma geen Admin rechten nodig tijdens het opstarten. Alleen als je een EXE wilt aanpassen en deze zich bevindt in een beschermde locatie zijn Admin rechten nodig. Dit wordt aangegeven door het programma zodat de gebruiker ZELF, handmatig, Admin rechten moet toe kennen door het programma te starten met Rechtermuisknop/Run as Administrator. Dit staat compleet los van het probleem lijkt mij, medetemeer omdat tijdens het starten van het programma er... of niets gedaan wordt, of er wordt gelezen van HD (de EXE wordt ingelezen, indien op standaard locatie aanwezig, als Byte Array). Er wordt pas geschreven als de gebruiker op Apply drukt. Het programma is getest op XP SP3, Vista SP2, Windows 7 SP1 en zelfs Windows 8.1. Ik ben nog geen rare fratsen tegen gekomen.

Wat ik tijdens het browsen door de instellingen wel tegenkwam was de menu van VMware. Dit programma had ik laatste wel geupdate naar de meest recentste versie. Misschien dat het hier iets mee te maken heeft. Maar dan nog, waarom dit project met het probleem en andere projecten, meerdere nu getest, niet.

Ik ga nu een nieuwe, dummy, programma maken om te kijken of het probleem zich voordoet. De vorige testen waren allemaal met al bestaande projecten.

Edit:
Verschillende tests uitgevoerd met nieuwe projecten maar vroeg of laat springt de melding er toch in en dan raak ik 'm ook niet meer kwijt. Geen één keer kwam de melding op de zelfde manier tot stand. Dit is toch wel balen.

[ Voor 5% gewijzigd door Verwijderd op 31-12-2013 05:32 ]