September 26, 2004

access to the path is denied

For solve below problem you can go to C:\Inetpub\wwwroot\[Project Name] and select your file and then right click on that (your file) and select properties from menu.After that you can go to Security tab page and select Users([your computer name]\Users) from "Group or user names" and then check the "Write" at the "Permissions for Users". I hope this helps.
Server Error in '/Project01' Application.
--------------------------------------------------------------------------------
Access to the path "c:\inetpub\wwwroot\Project01\?????.xml" is denied.
Description:
An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.
Exception Details: System.UnauthorizedAccessException: Access to the path "c:\inetpub\wwwroot\Project01\?????.xml" is denied.
ASP.NET is not authorized to access the requested resource. Consider granting access rights to the resource to the ASP.NET request identity. ASP.NET has a base process identity (typically {MACHINE}\ASPNET on IIS 5 or Network Service on IIS 6) that is used if the application is not impersonating. If the application is impersonating via <identity impersonate="true"/>, the identity will be the anonymous user (typically IUSR_MACHINENAME) or the authenticated request user.
To grant ASP.NET write access to a file, right-click the file in Explorer, choose "Properties" and select the Security tab. Click "Add" to add the appropriate user or group. Highlight the ASP.NET account, and check the boxes for the desired access.
Source Error:
Line 79: // Write the new DataSet with the new name and password to the XML file.
Line 80: fs = new FileStream(Server.MapPath("?????.xml"), FileMode.Create, FileAccess.WriteFileAccess.Read);
Line 81: StreamWriter writer = new StreamWriter(fs);
Line 82: ds.WriteXml(writer);
Source File: c:\inetpub\wwwroot\Project01\adduser.aspx.cs Line: 80
Stack Trace:
[UnauthorizedAccessException: Access to the path "c:\inetpub\wwwroot\Project01\?????.xml" is denied.]
System.IO.__Error.WinIOError(Int32 errorCode, String str) +393
System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access, FileShare share, Int32 bufferSize, Boolean useAsync, String msgPath, Boolean bFromProxy) +888
System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access) +43
Project01.adduser.Signup_Click(Object sender, EventArgs e) in c:\inetpub\wwwroot\Project01\adduser.aspx.cs:80
System.Web.UI.WebControls.Button.OnClick(EventArgs e) +108
System.Web.UI.WebControls.Button.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String eventArgument) +57
System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument) +18
System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData) +33
System.Web.UI.Page.ProcessRequestMain() +1277
--------------------------------------------------------------------------------
Version Information: Microsoft .NET Framework Version:1.1.4322.573; ASP.NET Version:1.1.4322.573
خب این بار هم ASP .net ... وقتی می خواهید روی یک فایل چیزی رو بنویسید ایراد می گیره و حتی وقتی میرید و write بودن اون رو از توی IIS تنظیم می کنید باز هم Error می ده و بعد از اون وقتی می رید توی C:\Inetpub\wwwroot\[Project Name]\FileName و چک می کنید که ReadOnly نباشه می بینید که همه چیز درسته ولی بازم کار نمی کنه ... احتمالا اگر نسخه Serevr ویندوز رو کامپیوترتون نصبه برای حل این مشکل کافیه کارهای زیر رو بکنید.
- دوباره برید به آدرس C:\Inetpub\wwwroot\[Project Name]\FileName و روی فایل مورد نظر RightClick کنید و Properties و سپس Tab آخر یعنی Security را انتخاب کنید.
- احتمالا تا حالا 10 دفعه اینجا اومدید و دیدید که Administator که شما باشد write ش چک شده ولی شما باید از بین لیست "Group or user names" گزینة Users([your computer name]\Users) را انتخاب کرده و در جدول پایین Write رو انتخاب کنید به همین سادگی ....

Configuration Error

For below error you can go to IIS>WebSites>Default Web Site>[your project]>Right-Click>Properties and click on Create button (in Directory tab) and press Apply or Ok. I hope this helps.



Server Error in '/' Application.
Configuration Error
Description:
An error occurred during the processing of a configuration file required to service this request. Please review the specific error details below and modify your configuration file appropriately.
Parser Error Message: It is an error to use a section registered as allowDefinition='MachineToApplication' beyond application level. This error can be caused by a virtual directory not being configured as an application in IIS.
Source Error:
Line 35: by Microsoft that offers a single logon and core profile services for member sites.
Line 36: -->
Line 37: <authentication mode="Windows" />
Line 38:
Line 39: <!-- AUTHORIZATION

خب این بار ASP .net
Microsoft Visual Studio .NET 2003 را اوردید بالا و یه برنامه ASP .Net Web Application درست کردید (گرچه دو تا هم پیغام داد) و فایل هاش ساخته و آماده شد. محض خنده همون اول کامپال (Ctrl+F5) می کنیم می بینیم این Error رو می ده. خب راست می گه، درد از IIS ه (یا ويژوال استدیو) که احتمالا به هر دلیل مسخره ای خودش نتونسته درست Config کنه. البته با Internet Information Services (IIS) Manager Version: 6.0 که رو این سیستم نصبه، تنها با کار کوچک زیر Error رفع شد.
1- IIS رو بالا بیاورید.
2- برید به Web Sites
3- برید به Default Web Site
4- برید به برنامه خود و روی اسم برنامه Right-Click کنید و properties را انتخاب کنید
5- Directory رو انتخاب کنید (همین طوریش هم انتخاب شده چون Tab اوله)
6- روی کلید Create کلیک کنید.
برای این مشکل همین کافی بود ولی تو ComboBox ی Execute Permission و چک باکس های بالاش می تونه Config ها و Permission های مختلفی تنظیم کنه.
مثلا اگه Database, XML یا هر فایلی دارید که از تو برنامه (WebSite) محتویاتش تغییر می کنه باید Write را علامت بزنید.

September 25, 2004

DirectX Beginner

If you work with any COM Object Function like as (DirectX functions, ...)
CoCreateInstance(CLSID_SystemDeviceEnum, NULL, CLSCTX_INPROC_SERVER, IID_ICreateDevEnum, (void **)&pSysDevEnum);
CreateClassEnumerator(CLSID_VideoCompressorCategory, &pEnumCat, 0);
and some thing like this ... and get Error (or problem)
you must use of this function After Start Application and Before Quite (Reached on WM_QUIT message) Application...
- CoInitializeEx(NULL, COINIT_APARTMENTTHREADED); OR CoInitialize(NULL);
- CoUninitialize();


خب اگه با DirectX يا هر COM ديگه اي کار مي کرديد و بعد از يه ساعت کپي و پيست کردن از MSDN ;-) بازم کار نمي کنه ... بابا اين دوتا رو اول و آخر برنامت بنويس راه ميفته

- CoInitializeEx(NULL, COINIT_APARTMENTTHREADED); OR CoInitialize(NULL);
- CoUninitialize();

حلله ... خوش باش ..

September 17, 2004

USES_CONVERSION

For use of ATL String Convert macros in your project... you must be use of this macro (USES_CONVERSION;) and add #include <atlbase.h> to your project.

USES_CONVERSION چيه؟به مثال زير نگاه کنيد

void func( LPSTR lpsz ) 
{ 
  USES_CONVERSION; 
  ... 
  LPWSTR x = A2W(lpsz) 
  // Do something with x 
  ... 
}

هنگامي که از مبدل هاي string يي ATL استفاده مي کنيد بايد براي جلوگيري از Compile Error از اين دستور مسخره استفاده کنيد. مثل زير

HRESULT CCompData::OnPreLoad(LPDATAOBJECT lpDataObject, LPARAM arg, LPARAM param) 
{ 
  USES_CONVERSION; 
  LPOLESTR wszName = NULL; 
  const _TCHAR *pszName = m_pStaticNode->GetDisplayName(); 
  wszName = (LPOLESTR)T2COLE(pszName); 
  ... 
}

مثلا T2COLE يک ATL macro باحاله که مي تونه String Poniter مانند LPCTSTR و محتوياتش رو به LPCOLESTR تبديل کنه و براي استفاده از اون تنها کافيست که USES_CONVERSION استفاده کنيد.

// use it to call OLE here
USES_CONVERSION;
pI->SomeFunctionThatNeedsUnicode(T2OLE(lpszA));
... براي اينکه ماکروهاي اين چنيني براي دسترسي به فضاهاي Temp از local variable هايي با نام convert_ استفاده مي کنند که بااحضار ماکروي USES_CONVERSION مشکل استفاده از اون ها حلله .. مثل مثال بالا.... ماکروهاي مبدل عمومي مانند زيرند:
Generic Conversion Macros
A2CW (LPCSTR) -> (LPCWSTR)
A2W (LPCSTR) -> (LPWSTR)
W2CA (LPCWSTR) -> (LPCSTR)
W2A (LPCWSTR) -> (LPSTR)
OLE Conversion Macros
T2COLE (LPCTSTR) -> (LPCOLESTR)
T2OLE (LPCTSTR) -> (LPOLESTR)
OLE2CT (LPCOLESTR) -> (LPCTSTR)
OLE2T (LPCOLESTR) -> (LPCSTR)
Other Considerations
و يه عالمه ديگه
حالا اومديد و استفاده کرديد ديديد که هر چي ميزنيد Compile ... خطا مي ده ...
خب بدبخت حق داره بايد Header مربوطه رو بهش Add کنيد دیگه ...
آره مي دونم MSDN رو زير و رو کرديد ولي پيدا نشده ... عصباني نباشيد .. مايکروسافتِ ديگه ... شعورش که نمي رسه ... شما ببخشيدش ... Header اش اينه
#include <atlbase.h>
بذاريد بالاي برنامه و تموم.

September 10, 2004

Creative VIBRA 128

If you have problem to detect "Creative VIBRA 128" (Sound Card) to your Windows Server Edition you can must use of the last deriver of this card. You can find it from some site like these
http://uk.europe.creative.com/support/drivers/advanced.asp
http://hybrid.academic.cmru.ac.th/ftp/windows/driver/SBAudioSetup_W2k.zip
download, extract and install it and then ENJOY with a music like "Hey You" ;-) I hope this helps.
خب اگه شما از اين نوع کارت صداها مثل
Creative Sound Blaster® Vibra128
Sound Blaster 16 PCI
Sound Blaster PCI 128
Sound Blaster 4.1 Digital
Sound Blaster Ensoniq AudioPCI

رو کامپيوترتون داريد و يه ويندوز Server Edition مثل Windows 2003 .Net يا Windows 2000 يا هر کوفت ديگه اي نصب کرديد و مي بينيد در کمال تاسف متاسفانه نمي شناستش
Multimedia Audio Controller (to ControlPanel>System>Device Manager alamat e ? dareh)
که هيچ بلکه CD Driver اين کارت نيز کاري براتون نمي کنه ...معنيش اينه که بز آوردين
به خودتون مي گيد Creative کشک که نيست سايت داره Custmet Service داره خبر مرگشون
http://uk.europe.creative.com/support/drivers/product.asp
http://uk.europe.creative.com/support/drivers/advanced.asp
خب اگه تو اين ليست انتخاب کني مي بيني براي اين نوع محصول دو تا Patch داره
1)تاريخ انتشار: 19/12/2002

Sound Blaster PCI cards Web Update for users running Windows 98SE, Windows ME, Windows 2000 or Windows XP.
Sound Blaster PCI (WDM) Drivers V 5.12.01.5017
نام محصول: SBPCI_WebDrvsV5_12_01.exe

2) تاريخ انتشار: 19/11/2001
Driver release for SB PCI 128 Vibra / PCI 16 (Models CT 481x & 4740)
نام محصول: SBAudioSetup_W2k.zip (که شامل SBAUDIOSetupus.EXE و SBAPW2k.LIB هستش)

خب تعجب نکنيد منم رسيدم به کليد Download اما هرچي روش مي زنيد نمي ياد .. اگه اومد که هيچیBSAudioSetup_W2k.zip رو دانلود کنيد و تموم ... اما اگه نيومد کارتون در اومده بريد تو GOOGLE و بگرديد دنبال همين فايل (SBAudioSetup_W2k.zip) شايد فرجي شد و يکي اينو گذاشته بود رو Server اش ...
من که از اينجا دانلود کردم و حل شد ...
خب حل شده ... حالا بشينيد و يه دل سير Hey You گوش کنيد... خوش باشيد ...

Requset is not accepted

If you have problem with Win 9x Client and you have this message that ...
"Requset is not accepted by the network, Try again later."
you probably have an EVENT202 on the Server.
You can solve this problem with 2 way
1- Control Panel> Licensing> Add more to Per Server License
2- Control Panel> Licensing> Change the Per Server License to Per Seat

گندش دراومده ... همه سرور و تشکيلاتشون رو اوردي بالا موقع تحويل ... کليک مي کنن روي Share Folder هاي Server يه دفعه مياد دو دفعه نمي ياد .... يه Error مسخره هم مي آد که "درخواستت پذيرفته نيست. دوباره تلاش کنيد." چشمات داره مي زنه بيرون ... مي توني بندازي گردن مشکلات سخت افزاري ...
اگه خوب ور بري مي بيني که مثلا تا موقعي که n تا PC روشنه مشکل حلله اما وقتي که n+1 امي مياد تو شبکه گند مي خوره به همه ... از اون عجيب تر اينکه همه Server رو مي بينن و مي تونن برن توش ولي تا مي زنن روي يه Share Folder دلينگ اين پيغامه مي آد ...

"Requset is not accepted by the network."
"Requset is not accepted by the network, Try again later."

اينم گاها فقط کامپيوتر هاي 95و 97و Me و غيره مي دن ...
بابا خيلي سادس ... مشکله Licensing داره ... برين تو ControlPanel> Licensing يا برين Per Sservr رو بکنين Per Seat که خيال خودتون و شبکه و غيره رو راحت کنه :)) يا به Per Server تون اضافه کنيد .. راحت بود نه ...
حالا بريد يه گوشة شرکت واستيد، ليوان گندة شير يا قهوه يا چاييتونت رو بگيرين دستتون و از اينکه ملت بدون حتي يه ثانيه مشکل از Serevr استفاده مي کنن لذت ببرن ... حظ کنيد ... نوش جان