|
of course my horse
do you want to load it to crystal reports or a form control?
check here for "load image from database", you will get many articles.
i got it from there.
nelsonpaixao@yahoo.com.br
trying to help & get help
|
|
|
|
|
I plan to distribute an application in the near future. One thing I have not been able to find thus far concerns adding code that requires a user to enter a registration key to fully enable an application. I would appreciate any guidance in this regard.
Thank you in advance.
|
|
|
|
|
An idea, I implemented a while ago:
Create a license-file (with the required information), create a hash over the file, sign this hash with a e.g. RSA implementation, include the public key in your app.
To generate a license, the user submits the license information to you, you create the license file and sign it with your private key.
Your app searches for the license file, reads and verifies it, if the signature is ok.
Hendrik
This VB.NET code might help you ...
Option Explicit On
Option Strict On
Imports System.IO
Imports System.Text
Imports System.Security.Cryptography
Imports Microsoft.VisualBasic
Public Class clsLicenseEngine
Public Structure TYPE_LicenseFile
' License Information
Private m_LicenseName As String
Private m_LicenseCompany As String
Private m_LicenseFlags As String
Private m_LicenseNumber As String
Private m_Hash() As Byte
Private m_Signature() As Byte
Public Property LicenseName() As String
Get
Return m_LicenseName
End Get
Set(ByVal value As String)
m_LicenseName = value
End Set
End Property
Public Property LicenseCompany() As String
Get
Return m_LicenseCompany
End Get
Set(ByVal value As String)
m_LicenseCompany = value
End Set
End Property
Public Property LicenseFlags() As String
Get
Return m_LicenseFlags
End Get
Set(ByVal value As String)
m_LicenseFlags = value
End Set
End Property
Public Property LicenseNumber() As String
Get
Return m_LicenseNumber
End Get
Set(ByVal value As String)
m_LicenseNumber = value
End Set
End Property
Public ReadOnly Property Hash() As Byte()
Get
Return m_Hash
End Get
End Property
Public Function LicenseSplitFlags() As String()
Dim retVal() As String
Dim splitter() As Char = {Chr(Asc("~"))}
retVal = m_LicenseFlags.Split(splitter, StringSplitOptions.RemoveEmptyEntries)
Return retVal
End Function
Private Function HashCalculate() As Byte()
Dim SHA1 As New SHA1Managed
Dim utf8 As New UTF8Encoding
Dim retVal() As Byte
Dim LicenseBuffer() As Byte = utf8.GetBytes(m_LicenseName + vbCrLf + m_LicenseCompany + vbCrLf + m_LicenseFlags + vbCrLf + m_LicenseNumber)
retVal = SHA1.ComputeHash(LicenseBuffer)
Return retVal
End Function
Private Sub HashSet()
m_Hash = HashCalculate()
End Sub
Public Function AdminSignLicense(ByVal PrivateKey As TYPE_Key) As Boolean
If PrivateKey.PrivateKeySet = False Then
Return False
End If
HashSet()
Dim m_rsa As New RSACryptoServiceProvider
m_rsa.ImportParameters(PrivateKey.PrivateKey)
Dim Sign As New RSAPKCS1SignatureFormatter(m_rsa)
Sign.SetHashAlgorithm("SHA1")
m_Signature = Sign.CreateSignature(m_Hash)
Return True
End Function
Public Function CheckSignature(ByVal PublicKey As TYPE_Key) As Boolean
Dim m_rsa As New RSACryptoServiceProvider
m_rsa.ImportParameters(PublicKey.PublicKey)
Dim sign As New RSAPKCS1SignatureDeformatter(m_rsa)
sign.SetHashAlgorithm("SHA1")
Return sign.VerifySignature(m_Hash, m_Signature)
End Function
Public Function AdminWriteLicenseFile(ByVal FileName As String) As Boolean
Dim fs As Stream
Dim utf8 As New UTF8Encoding
Dim lines() As String = {m_LicenseName, m_LicenseCompany, m_LicenseFlags, m_LicenseNumber}
Dim buffer() As Byte
ReDim Preserve lines(lines.Length + 1)
lines(lines.Length - 2) = ArrayToHexString(m_Hash)
lines(lines.Length - 1) = ArrayToHexString(m_Signature)
Try
fs = New FileStream(FileName, FileMode.Create)
For Each line As String In lines
buffer = utf8.GetBytes(line + vbLf)
fs.Write(buffer, 0, buffer.Length)
Next
fs.Flush()
fs.Close()
Catch ex As Exception
Return False
End Try
Return True
End Function
Public Function ReadLicenseFile(ByVal FileName As String) As Boolean
Dim fs As Stream
Dim utf8 As New UTF8Encoding
Dim lines() As String
Dim LongLine As String
Dim lf() As Char = {CType(vbLf, Char)}
Try
fs = New FileStream(FileName, FileMode.Open)
Dim buffer(CType(fs.Length - 1, Integer)) As Byte
fs.Read(buffer, 0, CType(fs.Length, Integer))
LongLine = utf8.GetString(buffer)
lines = LongLine.Split(lf, StringSplitOptions.None)
Catch ex As Exception
Return False
End Try
m_LicenseName = lines(0)
m_LicenseCompany = lines(1)
m_LicenseFlags = lines(2)
m_LicenseNumber = lines(3)
m_Hash = HexStringToArray(lines(4))
HashSet()
m_Signature = HexStringToArray(lines(5))
Return True
End Function
Private Function ArrayToHexString(ByVal data() As Byte) As String
Dim retVal As String = ""
Dim i As Integer
For i = 0 To data.Length - 1
If Hex(data(i)).Length = 1 Then
retVal = retVal + "0"
End If
retVal = retVal + Hex(data(i))
Next
Return retVal
End Function
Private Function HexStringToArray(ByVal HexString As String) As Byte()
Dim retVal(CType(((HexString.Length) / 2) - 1, Integer)) As Byte
Dim i As Integer
For i = 1 To HexString.Length Step 2
retVal(CType((i - 1) / 2, Integer)) = CType(Val("&H" + Mid(HexString, i, 2)), Byte)
Next
Return retVal
End Function
End Structure
Public Structure TYPE_Key
Private m_PrivateKey As RSAParameters
Private m_PublicKey As RSAParameters
Private m_PrivateKeySet As Boolean
Public Property PrivateKey() As RSAParameters
Get
Return m_PrivateKey
End Get
Set(ByVal value As RSAParameters)
m_PrivateKey = value
m_PrivateKeySet = True
SetPublicKey()
End Set
End Property
Public Property PublicKey() As RSAParameters
Get
Return m_PublicKey
End Get
Set(ByVal value As RSAParameters)
m_PublicKey = value
m_PrivateKeySet = False
End Set
End Property
Public ReadOnly Property PrivateKeySet() As Boolean
Get
Return m_PrivateKeySet
End Get
End Property
Public Sub Clear()
m_PrivateKey = Nothing
m_PublicKey = Nothing
m_PrivateKeySet = False
End Sub
Private Sub SetPublicKey()
Dim m_rsa As New RSACryptoServiceProvider
m_rsa.ImportParameters(m_PrivateKey)
m_PublicKey = m_rsa.ExportParameters(False)
End Sub
Public Function WritePrivateKey(ByVal FileName As String) As Boolean
If m_PrivateKeySet = False Then
Return False
End If
Dim fs As Stream
Dim m_rsa As New RSACryptoServiceProvider
m_rsa.ImportParameters(m_PrivateKey)
Dim m_privKey() As Byte = m_rsa.ExportCspBlob(True)
Try
fs = New FileStream(FileName, FileMode.Create)
fs.Write(m_privKey, 0, m_privKey.Length)
fs.Flush()
fs.Close()
Catch ex As Exception
Return False
End Try
Return True
End Function
Public Function WritePublicKeyVB(ByVal FileName As String) As Boolean
Dim utf8 As New UTF8Encoding
Dim tmp As String
Dim buffer() As Byte
Dim fs As Stream
Dim m_rsa As New RSACryptoServiceProvider
m_rsa.ImportParameters(m_PublicKey)
Dim m_PubKey() As Byte = m_rsa.ExportCspBlob(False)
Try
fs = New FileStream(FileName, FileMode.Create)
tmp = "Public LicenseEnginePubKey() As Byte = { _" + vbCrLf
buffer = utf8.GetBytes(tmp)
fs.Write(buffer, 0, buffer.Length)
Dim i As Integer
For i = 0 To m_PubKey.Length - 1
tmp = "&H" + Hex(m_PubKey(i))
If i < m_PubKey.Length - 1 Then
tmp = tmp + ", "
If (i Mod 20 = 0) And (i > 0) Then
tmp = tmp + "_" + vbCrLf
End If
Else
tmp = tmp + " _ " + vbCrLf + "}"
End If
buffer = utf8.GetBytes(tmp)
fs.Write(buffer, 0, buffer.Length)
Next
fs.Flush()
fs.Close()
Catch ex As Exception
Return False
End Try
Return True
End Function
Public Function WritePublicKey(ByVal FileName As String) As Boolean
Dim fs As Stream
Dim m_rsa As New RSACryptoServiceProvider
m_rsa.ImportParameters(m_PublicKey)
Dim m_pubKey() As Byte = m_rsa.ExportCspBlob(False)
Try
fs = New FileStream(FileName, FileMode.Create)
fs.Write(m_pubKey, 0, m_pubKey.Length)
fs.Flush()
fs.Close()
Catch ex As Exception
Return False
End Try
Return True
End Function
Public Sub SetKeyBinary(ByVal key() As Byte)
Dim m_rsa As New RSACryptoServiceProvider
m_rsa.ImportCspBlob(key)
Try
PrivateKey = m_rsa.ExportParameters(True)
Catch ex As Exception
PublicKey = m_rsa.ExportParameters(False)
End Try
End Sub
Public Function ReadKey(ByVal FileName As String) As Boolean
Dim fs As Stream
Dim m_rsa As New RSACryptoServiceProvider
Try
fs = New FileStream(FileName, FileMode.Open)
Dim keylenght As Integer = CType(fs.Length, Integer)
Dim key(keylenght - 1) As Byte
fs.Read(key, 0, keylenght)
fs.Close()
Clear()
m_rsa.ImportCspBlob(key)
Catch ex As Exception
Return False
End Try
Try
PrivateKey = m_rsa.ExportParameters(True)
Catch ex As Exception
PublicKey = m_rsa.ExportParameters(False)
End Try
Return True
End Function
Public Sub GenerateNewKey()
Dim m_rsa As New RSACryptoServiceProvider
PrivateKey = m_rsa.ExportParameters(True)
End Sub
End Structure
End Class
|
|
|
|
|
I have written a singleton application as follows:
public static class SingletonApp
{
static Mutex m_Mutex;
public static void Run( Form mainForm )
{
bool first = IsFirstInstance( );
if( first )
{
Application.ApplicationExit += OnExit;
Application.Run( mainForm );
}
else
{
}
}
static bool IsFirstInstance( )
{
Assembly assembly = Assembly.GetEntryAssembly( );
string name = assembly.FullName;
m_Mutex = new Mutex( false , name );
bool owned = false;
owned = m_Mutex.WaitOne( TimeSpan.FromSeconds(0) , false );
return owned;
}
static void OnExit( object sender , EventArgs args )
{
m_Mutex.ReleaseMutex( );
m_Mutex.Close( );
}
}
When this application is running(minimized mode),I hope to open its main window(Form mainForm above in Run method).In order to implement this function(similar to Microsoft Outlook),how should I add other code?
Thank you very much!
|
|
|
|
|
|
You could use for example Process.GetProcessesByName[^] method to find the existing instance and then invoke a method on that instance using reflection. The method could simply set the main forms window state to normal.
The need to optimize rises from a bad design.
My articles[ ^]
|
|
|
|
|
Mika,Thank you very much!
I have added a line in that else statement above as follows:
Process[] singleInstance = Process.GetProcessesByName( "SingletonApp" );
But in turn ,how shall I write using reflection ?
May you help to write that code followed?
I am looking forward to your reply again!
Thank you very much again!
|
|
|
|
|
I believe that the article Giorgi posted is excellent. Use that and explore the communication. The only thing I would consider in that article is that perhaps IpcChannel could be used instead of TcpChannel.
The need to optimize rises from a bad design.
My articles[ ^]
|
|
|
|
|
There is a solution to this problem using some unmanaged code as follows:
public static class SingletonApp
{
[DllImport( "user32.dll" )]
static extern bool SetForegroundWindow( IntPtr hWnd );
[DllImport( "user32.dll" )]
static extern bool ShowWindowAsync( IntPtr hWnd , int nCmdShow );
[DllImport( "user32.dll" )]
static extern bool IsIconic( IntPtr hWnd );
const int SW_RESTORE = 9;
static Mutex m_Mutex;
public static void Run( Form mainForm )
{
bool first = IsFirstInstance( );
if( first )
{
Application.ApplicationExit += OnExit;
Application.Run( mainForm );
}
else
{
Process current = Process.GetCurrentProcess( );
Process[ ] procs = Process.GetProcessesByName( current.ProcessName );
IntPtr mainWindowHandle = procs[0].MainWindowHandle;
if( IsIconic( mainWindowHandle ) )
{
ShowWindowAsync( mainWindowHandle , SW_RESTORE );
}
SetForegroundWindow( mainWindowHandle );
}
}
static bool IsFirstInstance( )
{
Assembly assembly = Assembly.GetEntryAssembly( );
string name = assembly.FullName;
m_Mutex = new Mutex( false , name );
bool owned = false;
owned = m_Mutex.WaitOne( TimeSpan.FromSeconds(0) , false );
return owned;
}
static void OnExit( object sender , EventArgs args )
{
m_Mutex.ReleaseMutex( );
m_Mutex.Close( );
}
}
But,there seems to be timing issues yet!
It is sometimes required to double-click executable twice in order to set
that existing instance into the foreground,which cannot be a lot understood!
I strongly expect someone to supply a better solution that is completely managed code!
Thank you very much!
|
|
|
|
|
Hi all,
i'm having problem in custom paging using web application..there is an error saying "Input string was not in a correct format."
Here is my coding..
protected void NavigationLink_Click ( Object sender, CommandEventArgs e )
{
switch ( e.CommandName )
{
case "First":
_currentPageNumber = 1;
break;
case "Last":
_currentPageNumber = Int32.Parse(TotalPages.Text);
break;
case "Next":
_currentPageNumber = Int32.Parse(CurrentPage.Text) + 1;
break;
case "Prev":
_currentPageNumber = Int32.Parse(CurrentPage.Text) - 1;
break;
}
BindData();
}
public void BindData()
{
OdbcConnection myconn;
myconn= new OdbcConnection ("DSN=myodbc2;SERVER=localhost;DATABASE=misdb;UID=root;PORT=3306");
OdbcCommand cmd2 = new OdbcCommand("Select * from registration", myconn);
cmd2.CommandType=CommandType.StoredProcedure;
cmd2.Parameters.Add(new OdbcParameter ("@CurrentPage",OdbcType.Numeric,10)).Value=_currentPageNumber;
cmd2.Parameters.Add(new OdbcParameter("@PageSize",OdbcType.Numeric,10)).Value=DataGrid.PageSize;
cmd2.Parameters.Add(new OdbcParameter("@TotalRecords",OdbcType.Numeric,10)).Direction =ParameterDirection.Output;
try
{
myconn.Open();
DataGrid.DataSource=cmd2.ExecuteReader();
DataGrid.DataBind();
}
finally
{
myconn.Close();
}
CurrentPage.Text=_currentPageNumber.ToString();
Double _totalPages = 1;
if ( !Page.IsPostBack )
{
Int32 _totalRecords = (Int32) cmd2.Parameters["@TotalRecords"].Value;
totalPages = _totalRecords / DataGrid.PageSize;
TotalPages.Text =(System.Math.Ceiling(_totalPages)).ToString();
}
else
{
_totalPages = Double.Parse(TotalPages.Text);
}
if ( _currentPageNumber == 1 )
{
PreviousPage.Enabled = false;
if ( _totalPages > 1 )
{
NextPage.Enabled = true;
}
else
{
NextPage.Enabled = false;
}
}
else
{
PreviousPage.Enabled = true;
if ( _currentPageNumber == _totalPages )
{
NextPage.Enabled = false;
}
else
{
NextPage.Enabled = true;
}
}
}
%#&kmpYrlHSGYG5@#($_+!@!(*JASnjshdk,cm_0ashjhdbn@#$!48mkhfbchsh))^%#W%&@YW7wsdfjw789';'][]\`~JKJQ4$!@#~)-HSKS^&*1)JK12@#@$~!1`DFGkqp][]\]?Zas;EWRG%!@~)(^&BVAG
|
|
|
|
|
Entering something in the CurrentPage field would cause that to happen.
To avoid that, use the int.TryParse method to parse the value so that you can easily detect any illegal input.
Despite everything, the person most likely to be fooling you next is yourself.
|
|
|
|
|
hI,
I cant c TryParse method in program.Got any other solution for this problem..?
%#&kmpYrlHSGYG5@#($_+!@!(*JASnjshdk,cm_0ashjhdbn@#$!48mkhfbchsh))^%#W%&@YW7wsdfjw789';'][]\`~JKJQ4$!@#~)-HSKS^&*1)JK12@#@$~!1`DFGkqp][]\]?Zas;EWRG%!@~)(^&BVAG
|
|
|
|
|
Of course you can't see any TryParse in the program. I said that you should use TryParse in the program.
Despite everything, the person most likely to be fooling you next is yourself.
|
|
|
|
|
ok thank you.
%#&kmpYrlHSGYG5@#($_+!@!(*JASnjshdk,cm_0ashjhdbn@#$!48mkhfbchsh))^%#W%&@YW7wsdfjw789';'][]\`~JKJQ4$!@#~)-HSKS^&*1)JK12@#@$~!1`DFGkqp][]\]?Zas;EWRG%!@~)(^&BVAG
|
|
|
|
|
Hi,
i have a xml file embedded in my project resources. I can read it but i can´t save changes on it, check code bellow
DataSet ds = new DataSet();
ds.ReadXml(Class_Helper.ResourceXml_login, XmlReadMode.ReadSchema);
DataGridView_Administrator.DataSource = ds.Tables[0];
DataRow DataRow_user = ds.Tables[0].NewRow();
DataRow_user["id"] = 10;
DataRow_user["f_name"] = ToolStripTextBox_FName.Text;
DataRow_user["l_name"] = ToolStripTextBox_LName.Text;
DataRow_user["username"] = ToolStripTextBox_Username.Text;
DataRow_user["password"] = ToolStripTextBox_Password.Text;
DataRow_user["role"] = ToolStripComboBox_Role.Text;
ds.Tables[0].Rows.Add(DataRow_user);
ds.WriteXml(Class_Helper.ResourceXml_login,XmlWriteMode.WriteSchema);
DataGridView_Administrator.DataSource = ds.Tables[0];
i can save changes if i use the path way you know?! but i want this way and i really dont know where the codes goes wrong
nelsonpaixao@yahoo.com.br
trying to help & get help
|
|
|
|
|
Of course you can't do this. First of all, resources are Read Only. Second, in order to save those changes, the .EXE file cannot be running because a running .EXE's file is locked by the system. So, in order to update the resource, you have to NOT be running the code.
nelsonpaixao wrote: but i want this way and i really dont know where the codes goes wrong
It's not the code that's going wrong, but your entire concept. You simply cannot do what you want.
|
|
|
|
|
thanks, i didn´t know that.
i will use the path method.
nelsonpaixao@yahoo.com.br
trying to help & get help
|
|
|
|
|
Hi,i am in a problem to scan barcode without an active focus on a textbox. Can anyone help me? Please,do.
|
|
|
|
|
Scanning a barcode is basically the same as using keyboard. Wherever your focus is, that control will receive the input.
This property could be helpful to you: Form.KeyPreview Property[^]
The need to optimize rises from a bad design.
My articles[ ^]
|
|
|
|
|
When i minimize parent form it minimizes child form too. How can i avoid this behaviour.
Basically I have 2 forms, when a button is clicked on form1 it opens form2.show() but just before opening the form2 i am setting Form1.WindowState = FormWindowState.Minimized and this minimize the child form
I don't want to use form.TopMost becuase this way i form2 cannot be send back.
Thanks
|
|
|
|
|
It's a bit hard to say the problem without seeing the code but few issues:
- If you're using MDI parent (Form1), don't set childs MdiParent property.
- check that Form2 has WindowState set to Normal (or set it after show).
The need to optimize rises from a bad design.
My articles[ ^]
|
|
|
|
|
I found some softeare, which can display the different texts in different colors.
I am wondering how to realize it in VC#.
thanks.
|
|
|
|
|
|
You can do this with the RichTextbox control.
"The clue train passed his station without stopping." - John Simmons / outlaw programmer
"Real programmers just throw a bunch of 1s and 0s at the computer to see what sticks" - Pete O'Hanlon
"Not only do you continue to babble nonsense, you can't even correctly remember the nonsense you babbled just minutes ago." - Rob Graham
|
|
|
|
|
I am publishing one project, but it gives the following error message when I run the .exe after installed the project:
(sorry the error message is given in German, in english, shortly, it means that the activation of D:\Publish\WindowsApplication6.application results in an exception. the following error is found:
+ the file C:\Users\Xia\AppData\Local\Temp\Deployment\WRVCRQEQ.H7D\P3Q37RD7.ER9\CSML.dll already exists. I am really confused, CSML.dll is the fill I refered and it is imported into D: disk and has nothing to do with C: disk. moreover, I have checked C:\Users\Xia\AppData\Local\Temp\Deployment, under this I did not find any files and no WRVCRQEQ.H7D\P3Q37RD7.ER9\CSML.dll is found. What does these message mean??
)
INFO ZUR PLATTFORMVERSION
Windows : 6.0.6000.0 (Win32NT)
Common Language Runtime : 2.0.50727.312
System.Deployment.dll : 2.0.50727.312 (rtmLHS.050727-3100)
mscorwks.dll : 2.0.50727.312 (rtmLHS.050727-3100)
dfdll.dll : 2.0.50727.312 (rtmLHS.050727-3100)
dfshim.dll : 2.0.50727.312 (rtmLHS.050727-3100)
QUELLEN
Bereitstellungs-URL : file:///D:/Publish/WindowsApplication6.application
Anwendungs-URL : file:///D:/Publish/WindowsApplication6_1_0_0_16/WindowsApplication6.exe.manifest
IDENTITÄTEN
Bereitstellungsidentität : WindowsApplication6.application, Version=1.0.0.16, Culture=neutral, PublicKeyToken=90e1acef750881e2, processorArchitecture=msil
Anwendungsidentität : WindowsApplication6.exe, Version=1.0.0.16, Culture=neutral, PublicKeyToken=90e1acef750881e2, processorArchitecture=msil, type=win32
ZUSAMMENFASSUNG FÜR ANWENDUNG
* Installierbare Anwendung.
FEHLERZUSAMMENFASSUNG
Es folgt eine Zusammenfassung der Fehler. Details zu diesen Fehlern werden später im Protokoll aufgelistet.
* Die Aktivierung von D:\Publish\WindowsApplication6.application führte zu einer Ausnahme. Folgende Fehlermeldungen wurden entdeckt:
+ Die Datei C:\Users\Xia\AppData\Local\Temp\Deployment\WRVCRQEQ.H7D\P3Q37RD7.ER9\CSML.dll ist bereits vorhanden.
FEHLERZUSAMMENFASSUNG FÜR DIE SPEICHERTRANSAKTION DER KOMPONENTE
Es wurde kein Transaktionsfehler festgestellt.
WARNUNGEN
Während dieses Vorgangs gab es keine Warnungen.
FORTSCHRITTSSTATUS DES VORGANGS
* [14.11.2008 19:39:05] : Die Aktivierung von D:\Publish\WindowsApplication6.application wurde gestartet.
* [14.11.2008 19:39:05] : Das Verarbeiten des Bereitstellungsmanifestes wurde erfolgreich abgeschlossen.
* [14.11.2008 19:39:05] : Die Installation der Anwendung wurde gestartet.
* [14.11.2008 19:39:05] : Das Verarbeiten des Anwendungsmanifestes wurde erfolgreich abgeschlossen.
* [14.11.2008 19:39:06] : Die Anforderung der Vertrauensstellung und die Ermittlung der Plattform sind abgeschlossen.
FEHLERDETAILS
Folgende Fehler wurden bei diesem Vorgang entdeckt.
* [14.11.2008 19:39:09] System.IO.IOException
- Die Datei C:\Users\Xia\AppData\Local\Temp\Deployment\WRVCRQEQ.H7D\P3Q37RD7.ER9\CSML.dll ist bereits vorhanden.
- Quelle: mscorlib
- Stapelüberwachung:
bei System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
bei System.IO.FileStream.Init(String path, FileMode mode, FileAccess access, Int32 rights, Boolean useRights, FileShare share, Int32 bufferSize, FileOptions options, SECURITY_ATTRIBUTES secAttrs, String msgPath, Boolean bFromProxy)
bei System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access, FileShare share)
bei System.Deployment.Application.FileDownloader.PatchSingleFile(DownloadQueueItem item, Hashtable dependencyTable)
bei System.Deployment.Application.FileDownloader.PatchFiles(SubscriptionState subState)
bei System.Deployment.Application.FileDownloader.Download(SubscriptionState subState)
bei System.Deployment.Application.DownloadManager.DownloadDependencies(SubscriptionState subState, AssemblyManifest deployManifest, AssemblyManifest appManifest, Uri sourceUriBase, String targetDirectory, String group, IDownloadNotification notification, DownloadOptions options)
bei System.Deployment.Application.ApplicationActivator.DownloadApplication(SubscriptionState subState, ActivationDescription actDesc, Int64 transactionId, TempDirectory& downloadTemp)
bei System.Deployment.Application.ApplicationActivator.InstallApplication(SubscriptionState subState, ActivationDescription actDesc)
bei System.Deployment.Application.ApplicationActivator.PerformDeploymentActivation(Uri activationUri, Boolean isShortcut)
bei System.Deployment.Application.ApplicationActivator.ActivateDeploymentWorker(Object state)
DETAILS ZUR SPEICHERTRANSAKTION DER KOMPONENTE
Es sind keine Transaktionsinformationen verfügbar.
|
|
|
|
|